Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para módulos, formas de pagamentos e formas de envio para OpenCart v1.x.
Por gersonab
#54045
A extensão Extra Product Tabs funciona perfeitamente com as abas ( guias ) na horizontal , no entanto, ao utilizar um template onde estas abas são na vertical, não estou conseguindo acertar a mesma, alguém ja passou por isso ?
Tem uma solução ?
#54058
Os templates vem com código CSS próprio e alguns módulos nativos do OpenCart ficam desconfigurados ao utilizar nesses templates por falta do estilo no CSS, verifique pois esses templates já vem com módulos próprios de menu de produtos, promoção, novos produtos, e outros, por esse motivo não tem necessidade de utilizar os módulos nativos do OpenCart.
Por gersonab
#54068
Sim, concordo contigo em partes, porém ja consegui colocar na vertical, seguindo os dados do product.tpl, pois estes estavam em <li> .
Código: Selecionar todos
<div id="tabs" class="htabs col-lg-3 col-md-3 col-sm-3 col-xs-12">
		<ul class="nav nav-tabs clearfix">
			<li><a href="#tab-description"><?php echo $tab_description; ?></a></li>			
			<?php if ($attribute_groups) { ?>
			<li><a href="#tab-attribute"><?php echo $tab_attribute; ?></a></li>		
			<?php } ?>			
			<?php if ($review_status) { ?>
			<li><a href="#tab-review"><?php echo $tab_review; ?></a></li>
			<?php } ?>	
			<?php if( $productConfig['enable_product_customtab'] && isset($productConfig['product_customtab_name'][$languageID]) ) { ?>
			<li><a href="#tab-customtab"><?php echo $productConfig['product_customtab_name'][$languageID]; ?></a></li>
			<?php } ?> 
            
		</ul>			
	</div>
	<div class="tab-content col-lg-9 col-md-9 col-sm-9 col-xs-12"> 
	<div id="tab-description"><?php echo $description; ?></div>
	
	<?php if ($attribute_groups) { ?>
	<div id="tab-attribute" class=" no-margin table-responsive">
		<table class="attribute table">
			<?php foreach ($attribute_groups as $attribute_group) { ?>
			<thead>
				<tr>
					<td colspan="2"><?php echo $attribute_group['name']; ?></td>
				</tr>
			</thead>
			<tbody>
			<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
				<tr>
					<td><?php echo $attribute['name']; ?></td>
					<td><?php echo $attribute['text']; ?></td>
				</tr>
			<?php } ?>
			</tbody>
			<?php } ?>
		</table>
	</div>
	<?php } ?>
no xml do extra product tabs fiz assim ....
Código: Selecionar todos
<file name="catalog/view/theme/*/template/product/product.tpl" error="log">

		<!-- Add Position 1 Tabs -->
		<operation error="log">
			<search position="replace"><![CDATA[
				<a href="#tab-description"><?php echo $tab_description; ?></a>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_1) { ?>
					<?php foreach($product_tabs_1 as $product_tab_1) { ?>
						<li><a style="padding:10px" href="#tab-product-tab<?php echo $product_tab_1['tab_id'];?>"><?php echo $product_tab_1['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
				<a href="#tab-description"><?php echo $tab_description; ?></a>
        ]]>
			</add>
		</operation>

		<!-- Add Position 2 Tabs -->
	  <operation error="log">
			<search position="before" index="1"><![CDATA[
				<?php if ($attribute_groups) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_2) { ?>
					<?php foreach($product_tabs_2 as $product_tab_2) { ?>
						<li><a style="padding:10px" href="#tab-product-tab<?php echo $product_tab_2['tab_id'];?>"><?php echo $product_tab_2['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 3 Tabs -->
	  <operation error="log">
			<search position="before" index="2"><![CDATA[
				<?php if ($review_status) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_3) { ?>
					<?php foreach($product_tabs_3 as $product_tab_3) { ?>
						<li><a style="padding:10px" href="#tab-product-tab<?php echo $product_tab_3['tab_id'];?>"><?php echo $product_tab_3['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 4 Tabs -->
	  <operation error="log">
			<search position="before" index="1"><![CDATA[
				<?php if ($products) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_4) { ?>
					<?php foreach($product_tabs_4 as $product_tab_4) { ?>
						<li><a style="padding:10px" href="#tab-product-tab<?php echo $product_tab_4['tab_id'];?>"><?php echo $product_tab_4['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 5 Tabs -->
	  <operation error="log">
			<search position="after" index="1" offset="2"><![CDATA[
				<?php if ($products) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_5) { ?>
					<?php foreach($product_tabs_5 as $product_tab_5) { ?>
						<li><a  style="padding:10px" href="#tab-product-tab<?php echo $product_tab_5['tab_id'];?>"><?php echo $product_tab_5['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 1 Tabs Content -->
		<operation error="log">
			<search position="before"><![CDATA[
				<div id="tab-description" class="tab-content"><?php echo $description; ?></div>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_1) { ?>
					<?php foreach($product_tabs_1 as $product_tab_1) { ?>
						<div id="tab-product-tab<?php echo $product_tab_1['tab_id'];?>" class="tab-content"><?php echo $product_tab_1['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

		<!-- Add Position 2 Tabs Content -->
		<operation error="log">
			<search position="before" offset="1"><![CDATA[
				<div id="tab-attribute" class="tab-content">
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_2) { ?>
					<?php foreach($product_tabs_2 as $product_tab_2) { ?>
						<div id="tab-product-tab<?php echo $product_tab_2['tab_id'];?>" class="tab-content"><?php echo $product_tab_2['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

		<!-- Add Position 3 Tabs Content -->
		<operation error="log">
			<search position="before" offset="1"><![CDATA[
				<div id="tab-review" class="tab-content">
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_3) { ?>
					<?php foreach($product_tabs_3 as $product_tab_3) { ?>
						<div id="tab-product-tab<?php echo $product_tab_3['tab_id'];?>" class="tab-content"><?php echo $product_tab_3['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>


		<!-- Add Position 4 Tabs Content -->
		<operation error="log">
			<search position="before" offset="1"><![CDATA[
				<div id="tab-related" class="tab-content">
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_4) { ?>
					<?php foreach($product_tabs_4 as $product_tab_4) { ?>
						<div id="tab-product-tab<?php echo $product_tab_4['tab_id'];?>" class="tab-content"><?php echo $product_tab_4['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

		<!-- Add Position 5 Tabs Content -->
		<operation error="log">
			<search position="before"><![CDATA[
				<?php if ($tags) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_5) { ?>
					<?php foreach($product_tabs_5 as $product_tab_5) { ?>
						<div id="tab-product-tab<?php echo $product_tab_5['tab_id'];?>" class="tab-content"><?php echo $product_tab_5['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

	</file>

	<file name="catalog/controller/product/product.php" error="log">

    <operation error="log">
			<search position="before"><![CDATA[
				$results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);
				]]>
			</search>
			<add trim="true"><![CDATA[

				for( $i=1; $i< 6; $i++) {
					$this->data['product_tabs_' . $i] = array();
				}

				$product_tabs = $this->model_catalog_product->getProductTabs($this->request->get['product_id']);

				foreach ($product_tabs as $product_tab) {

					$this->data['product_tabs_' . $product_tab['position']][] = array(
						'tab_id' 	=> $product_tab['tab_id'],
						'name'    => $product_tab['name'],
						'text'    => html_entity_decode($product_tab['text'], ENT_QUOTES, 'UTF-8')
					);

				}
				]]>
			</add>
		</operation>

	</file>

	<file name="catalog/model/catalog/product.php" error="log">
		<operation error="log">
			<search position="bottom" offset="2"></search>
			<add trim="true"><![CDATA[
				public function getProductTabs($product_id) {

					$product_tab_data = array();

					$product_tab_query = $this->db->query("SELECT t.tab_id, td.name, pt.text, t.position, t.show_empty FROM " . DB_PREFIX . "product_tab pt LEFT JOIN " . DB_PREFIX . "tab t ON (pt.tab_id = t.tab_id) LEFT JOIN " . DB_PREFIX . "tab_description td ON (t.tab_id = td.tab_id) WHERE pt.product_id = '" . (int)$product_id . "' AND td.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pt.language_id = '" . (int)$this->config->get('config_language_id') . "' AND t.status = '1' AND ( t.show_empty = '1' OR NOT pt.text REGEXP '^[[:space:]]*$' ) ORDER BY t.position, t.sort_order, td.name");

					foreach ($product_tab_query->rows as $product_tab) {

						$product_tab_data[] = array(
								'tab_id' 				=> $product_tab['tab_id'],
								'name'      		=> $product_tab['name'],
								'text'      		=> $product_tab['text'],
								'position' 			=> $product_tab['position']
							);
					}

					return $product_tab_data;
				}
				]]>
			</add>
		</operation>
	</file>
pode observar que onde há o link coloquei um <li> e um style , assim ficou certo, porém o problema é que não esta aparecendo a descrição da guia , vem a guia mas não aparece a descrição.

Obs. este funciona 100% em outro template onde as guias são na horizontal.
Por gersonab
#54081
Neste template ele funciona 100% - lexus yourstyle .
Código: Selecionar todos
<div id="tabs" class="htabs clearfix">
          <a href="#tab-description"><?php echo $tab_description; ?></a>
            <?php if ($attribute_groups) { ?>
            <a href="#tab-attribute"><?php echo $tab_attribute; ?></a>
            <?php } ?>
            <?php if ($review_status) { ?>
            <a href="#tab-review"><?php echo $tab_review; ?></a>
            <?php } ?>
            <?php if( $productConfig['enable_product_customtab'] && isset($productConfig['product_customtab_name'][$languageID]) ) { ?>
             <a href="#tab-customtab"><?php echo $productConfig['product_customtab_name'][$languageID]; ?></a>
           <?php } ?>

          </div>
          <div id="tab-description" class="tab-content"><?php echo $description; ?></div>
          <?php if ($attribute_groups) { ?>
          <div id="tab-attribute" class="tab-content">
            <table class="attribute">
              <?php foreach ($attribute_groups as $attribute_group) { ?>
              <thead>
                <tr>
                  <td colspan="2"><?php echo $attribute_group['name']; ?></td>
                </tr>
              </thead>
              <tbody>
                <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
                <tr>
                  <td><?php echo $attribute['name']; ?></td>
                  <td><?php echo $attribute['text']; ?></td>
                </tr>
                <?php } ?>
              </tbody>
              <?php } ?>
            </table>
          </div>
          <?php } ?>
Agora neste, eu ja consegui colocar o nome das abas , mas não vem a descrição - lexus superstore
Código: Selecionar todos
<div id="tabs" class="htabs col-lg-3 col-md-3 col-sm-3 col-xs-12">
		<ul class="nav nav-tabs clearfix">
			<li><a href="#tab-description"><?php echo $tab_description; ?></a></li>			
			<?php if ($attribute_groups) { ?>
			<li><a href="#tab-attribute"><?php echo $tab_attribute; ?></a></li>		
			<?php } ?>			
			<?php if ($review_status) { ?>
			<li><a href="#tab-review"><?php echo $tab_review; ?></a></li>
			<?php } ?>	
			<?php if( $productConfig['enable_product_customtab'] && isset($productConfig['product_customtab_name'][$languageID]) ) { ?>
			<li><a href="#tab-customtab"><?php echo $productConfig['product_customtab_name'][$languageID]; ?></a></li>
			<?php } ?> 
            
		</ul>			
	</div>
	<div class="tab-content col-lg-9 col-md-9 col-sm-9 col-xs-12"> 
	<div id="tab-description"><?php echo $description; ?></div>
	
	<?php if ($attribute_groups) { ?>
	<div id="tab-attribute" class=" no-margin table-responsive">
		<table class="attribute table">
			<?php foreach ($attribute_groups as $attribute_group) { ?>
			<thead>
				<tr>
					<td colspan="2"><?php echo $attribute_group['name']; ?></td>
				</tr>
			</thead>
			<tbody>
			<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
				<tr>
					<td><?php echo $attribute['name']; ?></td>
					<td><?php echo $attribute['text']; ?></td>
				</tr>
			<?php } ?>
			</tbody>
			<?php } ?>
		</table>
	</div>
	<?php } ?>
o arquivo xml esta assim :
Código: Selecionar todos
<file name="catalog/view/theme/*/template/product/product.tpl" error="log">

		<!-- Add Position 1 Tabs -->
		<operation error="log">
			<search position="replace"><![CDATA[
				<a href="#tab-description"><?php echo $tab_description; ?></a>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_1) { ?>
					<?php foreach($product_tabs_1 as $product_tab_1) { ?>
						<li><a style="padding:20px" href="#tab-product-tab<?php echo $product_tab_1['tab_id'];?>"><?php echo $product_tab_1['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
				<a href="#tab-description"><?php echo $tab_description; ?></a>
        ]]>
			</add>
		</operation>

		<!-- Add Position 2 Tabs -->
	  <operation error="log">
			<search position="before" index="1"><![CDATA[
				<?php if ($attribute_groups) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_2) { ?>
					<?php foreach($product_tabs_2 as $product_tab_2) { ?>
						<li><a style="padding:20px" href="#tab-product-tab<?php echo $product_tab_2['tab_id'];?>"><?php echo $product_tab_2['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 3 Tabs -->
	  <operation error="log">
			<search position="before" index="2"><![CDATA[
				<?php if ($review_status) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_3) { ?>
					<?php foreach($product_tabs_3 as $product_tab_3) { ?>
						<li><a style="padding:20px" href="#tab-product-tab<?php echo $product_tab_3['tab_id'];?>"><?php echo $product_tab_3['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 4 Tabs -->
	  <operation error="log">
			<search position="before" index="1"><![CDATA[
				<?php if ($products) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_4) { ?>
					<?php foreach($product_tabs_4 as $product_tab_4) { ?>
						<li><a style="padding:20px" href="#tab-product-tab<?php echo $product_tab_4['tab_id'];?>"><?php echo $product_tab_4['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 5 Tabs -->
	  <operation error="log">
			<search position="after" index="1" offset="2"><![CDATA[
				<?php if ($products) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_5) { ?>
					<?php foreach($product_tabs_5 as $product_tab_5) { ?>
						<li><a style="padding:20px" href="#tab-product-tab<?php echo $product_tab_5['tab_id'];?>"><?php echo $product_tab_5['name']; ?></a></li>
					<?php } ?>
				<?php } ?>
        ]]>
			</add>
		</operation>

		<!-- Add Position 1 Tabs Content -->
		<operation error="log">
			<search position="before"><![CDATA[
				<div id="tab-description" class="tab-content"><?php echo $description; ?></div>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_1) { ?>
					<?php foreach($product_tabs_1 as $product_tab_1) { ?>
						<div id="tab-product-tab<?php echo $product_tab_1['tab_id'];?>" class="tab-content"><?php echo $product_tab_1['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

		<!-- Add Position 2 Tabs Content -->
		<operation error="log">
			<search position="before" offset="1"><![CDATA[
				<div id="tab-attribute" class="tab-content">
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_2) { ?>
					<?php foreach($product_tabs_2 as $product_tab_2) { ?>
						<div id="tab-product-tab<?php echo $product_tab_2['tab_id'];?>" class="tab-content"><?php echo $product_tab_2['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

		<!-- Add Position 3 Tabs Content -->
		<operation error="log">
			<search position="before" offset="1"><![CDATA[
				<div id="tab-review" class="tab-content">
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_3) { ?>
					<?php foreach($product_tabs_3 as $product_tab_3) { ?>
						<div id="tab-product-tab<?php echo $product_tab_3['tab_id'];?>" class="tab-content"><?php echo $product_tab_3['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>


		<!-- Add Position 4 Tabs Content -->
		<operation error="log">
			<search position="before" offset="1"><![CDATA[
				<div id="tab-related" class="tab-content">
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_4) { ?>
					<?php foreach($product_tabs_4 as $product_tab_4) { ?>
						<div id="tab-product-tab<?php echo $product_tab_4['tab_id'];?>" class="tab-content"><?php echo $product_tab_4['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

		<!-- Add Position 5 Tabs Content -->
		<operation error="log">
			<search position="before"><![CDATA[
				<?php if ($tags) { ?>
				]]>
			</search>
			<add trim="true"><![CDATA[
				<?php if ($product_tabs_5) { ?>
					<?php foreach($product_tabs_5 as $product_tab_5) { ?>
						<div id="tab-product-tab<?php echo $product_tab_5['tab_id'];?>" class="tab-content"><?php echo $product_tab_5['text']; ?></div>
					<?php } ?>
				<?php } ?>
				]]>
			</add>
		</operation>

	</file>

	<file name="catalog/controller/product/product.php" error="log">

    <operation error="log">
			<search position="before"><![CDATA[
				$results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);
				]]>
			</search>
			<add trim="true"><![CDATA[

				for( $i=1; $i< 6; $i++) {
					$this->data['product_tabs_' . $i] = array();
				}

				$product_tabs = $this->model_catalog_product->getProductTabs($this->request->get['product_id']);

				foreach ($product_tabs as $product_tab) {

					$this->data['product_tabs_' . $product_tab['position']][] = array(
						'tab_id' 	=> $product_tab['tab_id'],
						'name'    => $product_tab['name'],
						'text'    => html_entity_decode($product_tab['text'], ENT_QUOTES, 'UTF-8')
					);

				}
				]]>
			</add>
		</operation>

	</file>

	<file name="catalog/model/catalog/product.php" error="log">
		<operation error="log">
			<search position="bottom" offset="2"></search>
			<add trim="true"><![CDATA[
				public function getProductTabs($product_id) {

					$product_tab_data = array();

					$product_tab_query = $this->db->query("SELECT t.tab_id, td.name, pt.text, t.position, t.show_empty FROM " . DB_PREFIX . "product_tab pt LEFT JOIN " . DB_PREFIX . "tab t ON (pt.tab_id = t.tab_id) LEFT JOIN " . DB_PREFIX . "tab_description td ON (t.tab_id = td.tab_id) WHERE pt.product_id = '" . (int)$product_id . "' AND td.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pt.language_id = '" . (int)$this->config->get('config_language_id') . "' AND t.status = '1' AND ( t.show_empty = '1' OR NOT pt.text REGEXP '^[[:space:]]*$' ) ORDER BY t.position, t.sort_order, td.name");

					foreach ($product_tab_query->rows as $product_tab) {

						$product_tab_data[] = array(
								'tab_id' 				=> $product_tab['tab_id'],
								'name'      		=> $product_tab['name'],
								'text'      		=> $product_tab['text'],
								'position' 			=> $product_tab['position']
							);
					}

					return $product_tab_data;
				}
				]]>
			</add>
		</operation>
	</file>
Ja cheguei a modificar a linha :
Código: Selecionar todos
<div id="tab-description"><?php echo $description; ?></div>
para :
Código: Selecionar todos
<div id="tab-description" class="tab-content"><?php echo $description; ?></div>
e nada ainda .....