Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Активная вкладка на странице товара в зависимости от условий


Recommended Posts

Всем привет.

 

Необходимо на странице товара при условии, что количество товара <1 и если у товара есть "похожие товары", то делать при открытии страницы товара делать активной закладку "похожие товары".

 

Буду делать на vqmod, не могу найти где при загрузке страницы  на закладки устанавливается class="selected", а а на блок с текстом style="display: block;".

Надіслати
Поділитися на інших сайтах


я бы не рекомендовал делать то, что Вы собрались...
Вопервых у похожих товаров и так есть условие при котором эта вкладка диактивируется если похожих у товара на представленной странице нет...Этого условия вполне достаточно, чтобы похожие товары хорошо функционировали и не мешали поисковикам индексировать товар.
Во вторых display:none; ни к чему хорошему не приведет, особенно если он будет то включаться, то выключаться в зависимости от наличия главного товара на странице...Вы понимаете, что таким образом влияете на внутреннюю перелинковку товаров 
Ну и в третьих - вкладкам типа "похожие товар" и "описание" присваивается класс class="htabs"...если я Вас правильно понял конешн...

Надіслати
Поділитися на інших сайтах


я бы не рекомендовал делать то, что Вы собрались...

Вопервых у похожих товаров и так есть условие при котором эта вкладка диактивируется если похожих у товара на представленной странице нет...Этого условия вполне достаточно, чтобы похожие товары хорошо функционировали и не мешали поисковикам индексировать товар.

Во вторых display:none; ни к чему хорошему не приведет, особенно если он будет то включаться, то выключаться в зависимости от наличия главного товара на странице...Вы понимаете, что таким образом влияете на внутреннюю перелинковку товаров 

 

Вы наверное не поняли мою задумку:

При отсутствии товара и при наличии у этого товара похожих товаров - клиенту показывать при открытии страницы товара сразу закладку "похожие товары", что бы клиент переходил на другие товары, которые в наличии (вывод в "похожие товары" только товары в наличии я уже реализовал).

Надіслати
Поділитися на інших сайтах


в теории:
catalog/controller/product/product.php

добавить после 

$this->data['points'] = $product_info['points'];

вот это:

$this->data['quantity'] = $product_info['quantity'];

и после:

$this->data['products'][] = array(

вот это:

'quantity' => $result['quantity'],

а в шаблоне product.tpl добавляем условие прямо во вкладки, или как Вам уже будет удобней

<div <?php if ($product['quantity'] <= 0) { echo 'style="display:none"'; } ?> id="tab-related" class="tab-content">

опять же...написано на коленке - я не тестировал

Надіслати
Поділитися на інших сайтах


в теории:

catalog/controller/product/product.php

добавить после 

$this->data['points'] = $product_info['points'];

вот это:

$this->data['quantity'] = $product_info['quantity'];

и после:

$this->data['products'][] = array(

вот это:

'quantity' => $result['quantity'],

а в шаблоне product.tpl добавляем условие прямо во вкладки, или как Вам уже будет удобней

<div <?php if ($product['quantity'] <= 0) { echo 'style="display:none"'; } ?> id="tab-related" class="tab-content">

опять же...написано на коленке - я не тестировал

Чего-то не то получается (даже с исправлением на коленного написания). Где в коде устанавливается class="selected" на закладку?

Надіслати
Поділитися на інших сайтах


в контроллере все правильно

в шаблоне заменяете строчку 

  <div id="tab-related" class="tab-content">

на

  <div <?php if ($quantity <= 0) { echo 'style="display:none"'; } ?> class="tab-content">

Или сделайте по своему

Надіслати
Поділитися на інших сайтах


Во - сконстраляпал.

 

Если кому надо вот готовый vqmod:

<modification>
	<id>RELATED ACTIVE</id>
	<version>1.0.0</version>
	<vqmver>1.2.3</vqmver>
	<author>SAY</author>
	<file name="catalog/view/theme/default/template/product/product.tpl">
		<operation>
			<search position="replace"><![CDATA[
  <div id="tabs" class="htabs"><a href="#tab-description"><?php echo $tab_description; ?></a>
			]]></search>
			<add><![CDATA[
  <div id="tabs" class="htabs"><a id="nonactive" href="#tab-description"><?php echo $tab_description; ?></a>
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
    <a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
			]]></search>
			<add><![CDATA[
    <a id="active" href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
<?php if ($stock == "Нет в наличии") { ?>
<script>
  $(document).ready(function(){
    $('#nonactive').removeClass('selected');
    $('#active').addClass('selected');
    $('#tab-description').css( 'display', 'none' );
    $('#tab-related').css( 'display', 'block' );
  });
</script>
<?php } ?>
			]]></add>
		</operation>
	</file>
</modification>

Описание: на странице товара при условии, что статус товара "нет в наличии" и если у товара есть "похожие товары", то делать при открытии страницы товара делать активной закладку "похожие товары".

  • +1 1
Надіслати
Поділитися на інших сайтах


[=== catalog/controller/product/product.php ===]

перед

$this->model_catalog_product->updateViewed($this->request->get['product_id']);
добавить

$this->data['quantity'] = $product_info['quantity'];
[=== catalog/view/theme/default/template/product/product.tpl ===]

<a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
заменить на

<a id="tab_related_ctrl" href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
<?php if ($quantity < 1) { ?>
<script type="text/javascript"><!--
$(document).ready(function(){
	$('#tab_related_ctrl').trigger('click');
});
//--></script>
<?php } ?>
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.