Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

Link to post
Share on other sites
Guest

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

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

конечно есть.
 
[=== 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
Link to post
Share on other sites
  • 3 weeks later...

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

Link to post
Share on other sites

  • 3 weeks later...

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

Edited by afwollis
не надо цитировать огромные сообщения
Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

 

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

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

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

Link to post
Share on other sites

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

/* [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
Link to post
Share on other sites
  • 5 weeks later...

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

 

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

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

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

Edited by afwollis
overquote deleted
Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.