Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

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

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

 

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

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


11 часов назад, Vetroff сказал:

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

 

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

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


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

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


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

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

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

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

8 часов назад, Vetroff сказал:

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

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

 

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

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

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

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


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

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

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

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

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

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

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

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


5 минут назад, elen11 сказал:

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

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

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

файл:

/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']='тра та та';

 

Изменено пользователем Igor123123
c if немного ошибся. уже поправил
Ссылка на комментарий
Поделиться на других сайтах

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']='тра та та';

 

 

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

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


7 минут назад, Igor123123 сказал:

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


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

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


момент.

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

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

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

 

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

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

17 минут назад, Igor123123 сказал:

момент.

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

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

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

 

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

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

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


37 минут назад, Igor123123 сказал:

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

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

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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