Strona główna forum Wsparcie Konfiguracja Ustawienie zakładek razem [1 pod 2]- nie obok siebie

Ustawienie zakładek razem [1 pod 2]- nie obok siebie

Wszystko o konfiguracji, możliwościach i ustawieniach...


Posty: 88
Gadu-Gadu: 0

Witam

I mam kolejna zmiane z ktora sobie nie radze :(
Prawie wszystkie szablony maja zakladki [Tab] typu " opis produktu", "dodatkowe informacje", "tagi", "recencje" - obok siebie.
Jak na zalaczonym obrazku.

_ch_tabs.png


Chcialbym miec je wszystkie na 1 stronie.
Jedna pod drugą.

Jak to zrobic?

Za obsl. zakladek odpowiada plik:
app\design\frontend\default\[templatka_moja]\template\catalog\product\view\tabs.phtml
oraz /skin\frontend\default\[templatka_moja]\css\local.css

tabs.phtml wyglada tak.
<?php $custom_tab = Mage::getModel('cms/block')->load('celebrity_custom_tab'); ?>
<ul class="product-tabs">
    <?php foreach ($this->getTabs() as $_index => $_tab): ?>
        <?php if($this->getChildHtml($_tab['alias'])): ?>
            <li id="product_tabs_<?php echo $_tab['alias'] ?>" class="<?php echo !$_index?' active first':(($_index==count($this->getTabs())-1)?' last':'')?>"><a href="#"><?php echo $_tab['title']?></a></li>
        <?php endif; ?>
    <?php endforeach; ?>
    <?php if($custom_tab->getIsActive()): ?>
        <li id="product_tabs_custom"><a href="#"><?php echo $custom_tab->getTitle(); ?></a></li>
    <?php endif; ?>
</ul>
<?php foreach ($this->getTabs() as $_index => $_tab): ?>
    <?php if($this->getChildHtml($_tab['alias'])): ?>
        <div class="product-tabs-content" id="product_tabs_<?php echo $_tab['alias'] ?>_contents"><?php echo $this->getChildHtml($_tab['alias']) ?></div>
    <?php endif; ?>
<?php endforeach; ?>
<?php if($custom_tab->getIsActive()): ?>
    <div class="product-tabs-content" id="product_tabs_custom_contents"><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('celebrity_custom_tab')->toHtml() ?></div>
<?php endif; ?>
<script type="text/javascript">
//<![CDATA[
Varien.Tabs = Class.create();
Varien.Tabs.prototype = {
  initialize: function(selector) {
    var self=this;
    $$(selector+' a').each(this.initTab.bind(this));
  },

  initTab: function(el) {
      el.href = 'javascript:void(0)';
      if ($(el.parentNode).hasClassName('active')) {
        this.showContent(el);
      }
      el.observe('click', this.showContent.bind(this, el));
  },

  showContent: function(a) {
    var li = $(a.parentNode), ul = $(li.parentNode);
    ul.select('li', 'ol').each(function(el){
      var contents = $(el.id+'_contents');
      if (el==li) {
        el.addClassName('active');
        contents.show();
      } else {
        el.removeClassName('active');
        contents.hide();
      }
    });
  }
}
new Varien.Tabs('.product-tabs');
//]]>
</script>


Znalazlem dodatki i porady jak zmieniac zakladki, dodawać nowe, itp.
Jednak nic o tym jak wykonac wszystkie na jednej stronie ;)

Ktos pomoże?


Thx
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Pozdrawiam
;)

Ustawienie zakładek razem [1 pod 2]- nie obok siebie

PostTeraz jest 14 maja 2024, o 16:09
Google

Posty: 427
Lokalizacja: Internet


Posty: 88
Gadu-Gadu: 0

Już rozwiązałem.

Okazało się, że chyba zrobiłem bład w kodzie i dlatego mi nie sztymowało.

Rozwiązanie jest proste.
Należy usunąc znaczniki HTML odpowiedzialne za budowanie listy <ul> i <li>
oraz ew. dodac nagłówek dla bloków postaci np.

<h6 class="mytabsdes"><?php echo $_tab['title']?></h6>


+ ich wygląd w css.

Poniżej działający kod dla tabs.phtml
<?php $custom_tab = Mage::getModel('cms/block')->load('celebrity_custom_tab'); ?>

    <?php foreach ($this->getTabs() as $_index => $_tab): ?>
        <?php if($this->getChildHtml($_tab['alias'])): ?>
            <a href="#"><?php echo $_tab['title']?></a>
        <?php endif; ?>
    <?php endforeach; ?>
    <?php if($custom_tab->getIsActive()): ?>
        <a href="#"><?php echo $custom_tab->getTitle(); ?></a>
    <?php endif; ?>
<?php foreach ($this->getTabs() as $_index => $_tab): ?>
    <?php if($this->getChildHtml($_tab['alias'])): ?>
        <div class="product-tabs-content" id="product_tabs_<?php echo $_tab['alias'] ?>_contents"><h6 class="mytabsdes"><?php echo $_tab['title']?></h6><?php echo $this->getChildHtml($_tab['alias']) ?></div>
    <?php endif; ?>
<?php endforeach; ?>
<?php if($custom_tab->getIsActive()): ?>
    <div class="product-tabs-content" id="product_tabs_custom_contents"><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('celebrity_custom_tab')->toHtml() ?></div>
<?php endif; ?>
<script type="text/javascript">
//<![CDATA[
Varien.Tabs = Class.create();
Varien.Tabs.prototype = {
  initialize: function(selector) {
    var self=this;
    $$(selector+' a').each(this.initTab.bind(this));
  },

  initTab: function(el) {
      el.href = 'javascript:void(0)';
      if ($(el.parentNode).hasClassName('active')) {
        this.showContent(el);
      }
      el.observe('click', this.showContent.bind(this, el));
  },

  showContent: function(a) {
    var li = $(a.parentNode), ul = $(li.parentNode);
    ul.select('li', 'ol').each(function(el){
      var contents = $(el.id+'_contents');
      if (el==li) {
        el.addClassName('active');
        contents.show();
      } else {
        el.removeClassName('active');
        contents.hide();
      }
    });
  }
}
new Varien.Tabs('.product-tabs');
//]]>
</script>


i kod dla local.css
 .mytabsdes {font-size:16px; text-transform:uppercase; color:black; margin:5px; padding:5px;}


Nie usuwam posta - może komuś się przyda ;)
Oznaczam jako "solved".
Ale i tak dzieki ze jesteście ;)
Pozdrawiam
;)


Powrót do Konfiguracja