Перейти к содержанию
vivivor

[Решено] Переход на страницу продукта с открытой вкладкой отзывов

Рекомендуемые сообщения

Подскажите как сделать так чтоб перейти в товар с открытой вкладкой отзывов(по отдельной ссылке)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по отдельной ссылке... ???

а так...в продукт тпл.. отзывы поставь раньше описания, при заходе в продукт отзывы будут открыты всегда

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на главной есть 2 ссылки

1 ведет на страницу продукта с открытой вкладкой описания

2 туда же только с открытой вкладкой отзывов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

конечно есть.
 
[=== catalog/controller/product/product.php ===]
 
после

$this->model_catalog_product->updateViewed($this->request->get['product_id']);


добавляем

$this->data['_tab'] = '';
if (isset($this->request->get['_tab'])) {
$this->data['_tab'] = $this->request->get['_tab'];
}


[=== catalog/view/theme/{theme}/template/product/product.tpl ===]
 

<a href="#tab-review"><?php echo $tab_review; ?></a>


меняем на

<a href="#tab-review" id="tab-review-ctrl"><?php echo $tab_review; ?></a>


 
перед

<?php echo $footer; ?>


добавляем

<?php if (isset($_tab) && !empty($_tab)) { ?>
<script type="text/javascript"><!--
$('#tab-<?php echo $_tab; ?>-ctrl').trigger('click');
//--></script>
<?php } ?>


ссылка на страницу товара с открытой вкладкой отзывов выглядит так

index.php?route=product/product&product_id=40&_tab=review


в контроллерах задается

$this->url->link('product/product', 'product_id='.$result['product_id'].'&_tab=review'),


= = =

пример для категорий:

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

 $this->data['products'][] = array(
...
'tab_review_href' => $this->url->link('product/product', 'path='.$this->request->get['path'].'&product_id='.$result['product_id'].'&_tab=review'),


[=== catalog/view/theme/{theme}/template/product/category.tpl ===]

 <?php if ($product['tab_review_href']) { ?>
<div class="tab_review_href"><a href="<?php echo $product['tab_review_href']; ?>">tab_review_href</a></div>
<?php } ?>

<?php if ($product['thumb']) { ?>


 var tab_review_href = $(element).find('.tab_review_href').html();
if (tab_review_href != null) {
html += '<div class="tab_review_href">' + tab_review_href + '</div>';
}

var image = $(element).find('.image').html();
if (image != null) {
html += '<div class="image">' + image + '</div>';
}


2 блока

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за решение, а как сделать, что бы прокручивалась страница к этой вкладке? А то если много опций, то вкладка отзывы открывается, но она находится (внизу) на втором экране и пользователю кажется, что ничего не произошло,а он просто попал в карточку товара

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а можно при данной реализации сделать так, чтобы еще и title страницы отзывов о товаре можно было редактировать, или просто добавить в него слово - отзывы

Изменено пользователем afwollis
не надо цитировать огромные сообщения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...title страницы отзывов о товаре...

 

непонятно, о чем речь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...title страницы отзывов о товаре...

 

непонятно, о чем речь.

ссылка на страницу выглядит так - index.php?route=product/product&product_id=40&_tab=review

а может ли у этой страницы быть свой <title> ... </title> не такой как у продукта - index.php?route=product/product&product_id=40

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

например, так (сравнивайте с кодом выше)

/* [w] */
$this->data['_tab'] = '';
if (isset($this->request->get['_tab'])) {
	$this->data['_tab'] = $this->request->get['_tab'];
	$this->document->setTitle($product_info['name'].' > '.$this->language->get('text_reviews'));
}
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как сделать, что бы страница прокручивалась к вкладке отзывы при переходе, а то кажется, что ничего не произошло, просто попали на страницу товара. 

 

для этого надо в шаблоне карточки товара после

$('#tab-<?php echo $_tab; ?>-ctrl').trigger('click');
всего лишь добавить следующий код
$('html, body').animate({
scrollTop: $('#tab-<?php echo $_tab; ?>-ctrl').offset().top
}, 2000);
  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отлично теперь бомба :-)

Изменено пользователем afwollis
overquote deleted

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ссылка на страницу выглядит так - index.php?route=product/product&product_id=40&_tab=review

подскажите как сделать что бы просто была такая же ссылка как на страницу товара index.php?route=product/product&product_id=40&  БЕЗ ДОБАВЛЕНИЯ _tab=review Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите когда включаешь сео про то при переходе страница не прокручивается, так как без сео про ссылка имеет вид http://site.ru/kamera/sony_3421-01?_tab=review  а когда включаешь сео про при наведении видно, что она такая http://site.ru/kamera/sony_3421-01 без ?_tab=review и поэтому при переходе не прокручивается!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.