Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

 

Выводится виджет при помощи 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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.