Jump to content
Sign in to follow this  
elen11

Как под способом доставки добавить ссылку или кнопку?

Recommended Posts

Здравствуйте, мне необходимо на странице оформления заказа привязать виджет пунктов самовывоза СДЭК к соответствующему способу доставки.

 

Выводится виджет при помощи javascript, когда тыкаешь на кнопку "Выбрать пункт". Собственно данную кнопку с яваскриптом мне надо разместить под вариантом "Пункт самовывоза СДЭК". Только вот непонятно в каком файле это делать. Знаю, что названия доставки прописываются через элемент label и редактируются по данному пути /catalog/language/ru-ru/ . А что делать если нужно добавить ссылку или кнопку с яваскриптом под этим названием? Это делается как-то через контроллер или каким-то другим путём? 

Share this post


Link to post
Share on other sites

А разве нет готового модуля?

Share this post


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

А разве нет готового модуля?

 

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

Share this post


Link to post
Share on other sites

Ребят, ну подскажите кто-нибудь как вывести информацию под способом доставки? Два дня уже мучаюсь и модулей каких-то нет специальных..Неужели никто не сталкивался?

Share this post


Link to post
Share on other sites

Да вам по видимому придется свой модуль доставки писать, если те что есть не устраивают, что тут подскажешь. Это же не пару строчек в коде поменять.

Share this post


Link to post
Share on other sites

Даже если Вы разместите там кнопку и она будет что-то там вызывать и отображать через javascript. Нужно же будет выбранные данные пользователем куда-то потом записать и сохранить в заказе. Тут действительно не дело в 2-х или даже 3-х строчках кода.

Share this post


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

Да вам по видимому придется свой модуль доставки писать, если те что есть не устраивают, что тут подскажешь. Это же не пару строчек в коде поменять.

ды ну зачем, мне нужно просто вывести ссылку и всё. Были попытки вывести приписав к названию доставки, с точки зрения клиента всё ок и всё работает, но в письмо подтверждения и в админку в ордер подтягивается html код, что не совсем корректно. Поэтому ищу другой способ

 

1 час назад, Igor123123 сказал:

Даже если Вы разместите там кнопку и она будет что-то там вызывать и отображать через javascript. Нужно же будет выбранные данные пользователем куда-то потом записать и сохранить в заказе. Тут действительно не дело в 2-х или даже 3-х строчках кода.

согласна, переменную надо передать, но это ведь вполне посильная задача. Не ракету ядерную же спроектировать) хотя и этим кто-то занимается

Share this post


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

ды ну зачем, мне нужно просто вывести ссылку и всё. Были попытки вывести приписав к названию доставки, с точки зрения клиента всё ок и всё работает, но в письмо подтверждения и в админку в ордер подтягивается html код, что не совсем корректно. Поэтому ищу другой способ

Так напишите ссылку в названии метода доставки или в описании метода, в папке language. Из этих данных не удаляются теги.

Share this post


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

Так напишите ссылку в названии метода доставки или в описании метода, в папке language. Из этих данных не удаляются теги.

я так и сделала, но столкнулась с тем, что html теги подтягиваются с названием доставки в админку и в письмо подтверждения. И получается когда клиенту приходит подтверждение о заказе,то вместо способа доставки "Пункт самовывоза" он увидит html код) а описаний под методами доставки в опенкарте нет. Или я чего-то не знаю? если б оно было, я бы туда именно и запихнула нужный код

Share this post


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

я так и сделала, но столкнулась с тем, что html теги подтягиваются с названием доставки в админку и в письмо подтверждения. И получается когда клиенту приходит подтверждение о заказе,то вместо способа доставки "Пункт самовывоза" он увидит html код) а описаний под методами доставки в опенкарте нет. Или я чего-то не знаю? если б оно было, я бы туда именно и запихнула нужный код

какая версия опенкарт?

Share this post


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

какая версия опенкарт?

третья

Share this post


Link to post
Share on other sites

файл:

/catalog/model/checkout/order.php

номер строки 51:

там такая длиннющая строка: "$this->db->query("UPDATE `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape(....."

 

найдите в ней: shipping_method =  $this->db->escape($data['shipping_method'])

 

замените на shipping_method =   clear_tags($this->db->escape($data['shipping_method']))

 

так уберется ссылка и все теги. Вы можете сделать ссылку с помощью кнопки <input type='button' value='перейти' onclick='location.href=;return false;'/>

тогда clear_tags ее полностью уберет с надписью.

 

Ну или можете перед этой строчкой if поставить:

if ($data['shipping_code']='код метода доставки')$data['shipping_method']='тра та та';

 

Edited by Igor123123
c if немного ошибся. уже поправил

Share this post


Link to post
Share on other sites

модификаторы не забудьте обновить.

Share this post


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

файл:

/catalog/model/checkout/order.php

номер строки 51:

там такая длиннющая строка: "$this->db->query("UPDATE `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape(....."

 

найдите в ней: shipping_method =  $this->db->escape($data['shipping_method'])

 

замените на shipping_method =   clear_tags($this->db->escape($data['shipping_method']))

 

так уберется ссылка и все теги. Вы можете сделать ссылку с помощью кнопки <input type='button' value='перейти' onclick='location.href=;return false;'/>

тогда clear_tags ее полностью уберет с надписью.

 

Ну или можете перед этой строчкой if поставить:

if ($data['shipping_method']='код метода доставки')$data['shipping_method']='тра та та';

 

 

Спасибо большое, сейчас попробую и отпишусь

Share this post


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

модификаторы не забудьте обновить.


у меня кавычки и точки тут, как правильно прописать? а то что-то у меня не сработало. кэш и модификаторы почистила. Там кстати в файлике два раза эта строка повторяется
shipping_method = '" . $this->db->escape($data['shipping_method']) . "'

Share this post


Link to post
Share on other sites

 shipping_method = '" . strip_tags($this->db->escape($data['shipping_method'])) . "'

Share this post


Link to post
Share on other sites

момент.

что-то я туплю уже сегодня :)

напишите в 50й Строчке после $this->addOrderHistory($order_id, 0);
так:

$data['shipping_method'] = strip_tags($data['shipping_method']);

 

и больше ничего нигде не меняйте.

Share this post


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

момент.

что-то я туплю уже сегодня :)

напишите в 50й Строчке после $this->addOrderHistory($order_id, 0);
так:

$data['shipping_method'] = strip_tags($data['shipping_method']);

 

и больше ничего нигде не меняйте.

попробовала все варианты, не сработало. кэш почищен и модификаторы тоже. как были теги, так и подтягиваются в админку и в письмо уведомления :unsure:

Share this post


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

 shipping_method = '" . strip_tags($this->db->escape($data['shipping_method'])) . "'

а вы хорошо в php разбираетесь? может вы мне за денежку сделаете это? а то у меня уже мозг взрывается, нужна помощь

Share this post


Link to post
Share on other sites

Да. напишите в личку что должно получиться

Share this post


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
Sign in to follow this  

  • 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.