Ответить Новая тема Новый опрос 
 Расположение кнопки в карточке товара
adwebzoom


Cпециалист
Сообщений: 123
Регистрация: 05-11-2013


20-08-2019 00:54
Доброго дня!
Не получается расположить кнопку модуля в нужном месте в карточке товара.

Модуль - Shipping Preview
Выводит кнопку в карточке товара код из шаблона модуля, который лежит по этому пути modules/totshippingpreview/views/templates/hook/shipping_preview.tpl
Сам код выглядит так

Код:
<a href="#totselectzone" id="totshippingpreview">
    <div id="totcamion">
        <img src="{$content_dir|escape:'html':'UTF-8'}modules/totshippingpreview/views/img/camion.jpg" alt="">
    </div>
        {l s='Preview the shipping fees' mod='totshippingpreview'}
    <br/>
</a>


В карточке товара эта кнопка выводится над ценой, а мне нужно чтобы под ценой.
Что делаю. Из шаблона модуля shipping_preview.tpl вырезаю код, который указал выше. Обновляю файл на сервере, чищу кэш, кнопка из карточки пропадает. Ок. Теперь открываю шаблон карточки товара Product.tpl и в нужном мне месте, а именно после цены, вставляю это самый код. Обновляю файл, чищу кэш, смотрю страницу во фронт офисе кнопка над ценой, т.е. там где была изначально, но при этом перевод который я делал этой кнопки, пропал. И при обновлении страницы, кнопка на секунду подгружается в том месте где я её разместил, а потом перескакивает на то место где была изначально. Получается, что где-то корни кнопки засели, как понять где? Может есть другой способ разместить кнопку где хотелось бы?

Заранее благодарен!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


20-08-2019 16:17
Можно всё оставить как есть (не переносить код в product.tpl) и использовать "захват" (capture): код в шаблоне "shipping_preview.tpl" окружить
Код:
{capture name="totshippingpreview"}
    ...
{/capture}

и в шаблоне product.tpl использовать подобный код:
Код:
{$smarty.capture.totshippingpreview}


или использовать jquery и переместить блок (пример):
Код:
$('.content_prices').after($('#totshippingpreview'));


Приложите ссылку с тек. реализацией (с ошибкой описанной ранее). Скорее всего происходит изменение в коде через js (отключите js и проверьте код).
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
adwebzoom


Cпециалист
Сообщений: 123
Регистрация: 05-11-2013


20-08-2019 17:24
Попробовал с помощью захвата, но не получилось, также сначала кнопка подгружается там где нужно на доли секунды и потом перескакивает на исходное место.

При использовании jquery, не срабатывает отображение. Если я правильно понял, то этот код нужно установить в шаблоне карточки товара. В результате вместо кнопки отображается сам код
Код:
$('.content_prices').after($('#totshippingpreview'));

но в том месте где хотелось бы, т.е. после цены.

В настоящий момент текущая реализация через capture
https://huperpuper.ru/naushniki/15-besprovodnye-n......headset-s7.html
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


20-08-2019 18:18
В документе имеется подобный код (его необходимо удалить):
Код:
$('#availability_statut').after($('#totshippingpreview'));

Скорее всего в директории модуля имеется tpl-файл с данным кодом.

Также в консоле имеются сторонние ошибки, проверьте:
Код:
$(document).arrive is not a function
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
adwebzoom


Cпециалист
Сообщений: 123
Регистрация: 05-11-2013


20-08-2019 18:28
Алекс, спасибо за помощь. В шаблоне модуля данная строка присутствует.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос