Jump to content
Falcosha

Якорная ссылка в товарах

Recommended Posts

Всем привет, подскажите пожалуйста, как правильно сделать якорную ссылку в товарах?

 

Делаю в шаблоне product.tpl

<a href="#gdekupit">Где купить?</a>

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

<span id="gdekupit"></span>

Но соответственно он улетает на site.ru/#gdekupit  

 

Возможно ли как то сделать? 

Share this post


Link to post
Share on other sites

посмотрите как сделана якорная ссылка в произодителях

Share this post


Link to post
Share on other sites
1 час назад, chukcha сказал:

посмотрите как сделана якорная ссылка в произодителях

Вы про href="index.php?route=product/manufacturer#H"  ? 

Так тут не меняется url, а в товарах всегда разная ссылка, я так понимаю без js не обойтись

Share this post


Link to post
Share on other sites
1 час назад, Falcosha сказал:

<a href="#gdekupit">Где купить?</a>

Этот якорь  на текст?

<a href="{{ сcылка на самустраницу }}#gdekupit">Где купить?</a>

Share this post


Link to post
Share on other sites

@Falcosha

Вот так должно работать:

<a href="http://site.com<?php echo $_SERVER["REQUEST_URI"]; ?>#gdekupit">Где купить?</a>

 

Share this post


Link to post
Share on other sites
13 минут назад, chukcha сказал:

Этот якорь  на текст?

<a href="{{ сcылка на самустраницу }}#gdekupit">Где купить?</a>

это якорь на модуль внизу каждого товара

 

ссылка: 

site.ru/index.php?route=product/product&path=94&product_id=153#gdekupit 

соответственно не могу же я прописать в product.tpl ссылку на каждый товар, да и чуть позже включу чпу

 

Share this post


Link to post
Share on other sites
9 минут назад, Edvard сказал:

@Falcosha

Вот так должно работать:


<a href="http://site.com<?php echo $_SERVER["REQUEST_URI"]; ?>#gdekupit">Где купить?</a>

 

Так работает, но теряется смысл якорной ссылки, вместо перемещения вниз странице, загружается новая страница и переходит вниз

Share this post


Link to post
Share on other sites

нашел вот такой js: 

function openText() {
	var link = $('.js-product-text-link');
	if (link.length) {
		link.on('click', function(e){
			e.preventDefault();
			var $tab = $('.js-tabs-box-product').find('.js-tab'),
				$tabContent = $('js-tab-content'),
				$tabDesc = $('.js-tab-descr'),
				index = $tabDesc.index(),
				$fix = $('.js-fixed-header'),
				block = $('.js-product-info');
			if ($tabDesc.is(':visible')) {
				$('body, html').animate({scrollTop: block.offset().top - ($fix.length ? $fix.outerHeight() : 0)});
			} else {
				$tab.eq(index).addClass('active').siblings($tab).removeClass('active');
				$tabDesc.siblings($tabContent).fadeOut(200);
				setTimeout(function(){
					$tabDesc.fadeIn(200).addClass('active');
				},200);
				$('body, html').animate({scrollTop: block.offset().top - ($fix.length ? $fix.outerHeight() : 0)});
			}
		});
	}
}

у себя в шаблоне, работает как надо, направляет на доп.вкладки в каждом товаре, на расширенное описание, НО, ни как не могу под себя его переделать

Share this post


Link to post
Share on other sites

@Falcosha

Тогда так

<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>#gdekupit">Где купить?</a>

 

  • +1 1

Share this post


Link to post
Share on other sites
1 минуту назад, Edvard сказал:

@Falcosha

Тогда так


<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>#gdekupit">Где купить?</a>

 

а теперь попробуйте такой финт сделать в тройке!!!

Share this post


Link to post
Share on other sites
6 минут назад, Edvard сказал:

@Falcosha

Тогда так


<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>#gdekupit">Где купить?</a>

 

Спасибо вам огромное! Помогло! 

Share this post


Link to post
Share on other sites
4 минуты назад, chukcha сказал:

а теперь попробуйте такой финт сделать в тройке!!!

не понял,что за тройка?:) 

Share this post


Link to post
Share on other sites

@chukcha В третей версии не знаю, во второй такое работает.

Share this post


Link to post
Share on other sites
14 часов назад, chukcha сказал:

а теперь попробуйте такой финт сделать в тройке!!!

$data['uri'] = $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']);
<a href="{{ uri }}#gdekupit">Где купить</a>

 

  • +1 1

Share this post


Link to post
Share on other sites
7 минут назад, fanatic сказал:

$data['uri'] = $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']);

<a href="{{ uri }}#gdekupit">Где купить</a>

 

Спасибо :) Не забудьте ведь там еще есть get

Share this post


Link to post
Share on other sites
25 минут назад, chukcha сказал:

Спасибо :)

не за что;-)

27 минут назад, chukcha сказал:

Не забудьте ведь там еще есть get

так вот же

27 минут назад, chukcha сказал:

, $url .

 

Share this post


Link to post
Share on other sites
40 минут назад, fanatic сказал:

так вот же

ой, а слона-то  и не заметил

 

Тут бы еще рассказать как это $url получить

Но как вариант

$data['uri'] = $this->requst->server['REQUEST_URI'];


 

Share this post


Link to post
Share on other sites
5 часов назад, chukcha сказал:

Тут бы еще рассказать как это $url получить

как мед, так и ложкой:D

мой код прописать до или после последней  крошки

            $data['breadcrumbs'][] = array(
                'text' => $this->language->get('text_error'),
                'href' => $this->url->link('product/product', $url . '&product_id=' . $product_id)
            );

 

  • +1 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.