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

Вывод цены и изображения любого товара в любой статье


Recommended Posts

Всем привет! Нужна помощь. Есть Opencart 1.5, около 3000 товаров. Помимо товаров есть страницы смет и калькуляторы (обычные статьи) - в них перечислены товары с ценами. Цены часто меняются и редактировать ручками за несколько лет весьма надоело.

 

Возможно ли выводить через переменные в статьях цены и главные изображения любого товара по ID? Условно говоря, хочется прописывать в нужном месте код, типа такого:

[product_id="155" price] или [product_id="155" img] и на выходе получать цену или изображение товара с ID 155.

 

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

Надіслати
Поділитися на інших сайтах


29 минут назад, upgradepro сказал:

Всем привет! Нужна помощь. Есть Opencart 1.5, около 3000 товаров. Помимо товаров есть страницы смет и калькуляторы (обычные статьи) - в них перечислены товары с ценами. Цены часто меняются и редактировать ручками за несколько лет весьма надоело.

 

Возможно ли выводить через переменные в статьях цены и главные изображения любого товара по ID? Условно говоря, хочется прописывать в нужном месте код, типа такого:

[product_id="155" price] или [product_id="155" img] и на выходе получать цену или изображение товара с ID 155.

 

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

то что вы хотите называется хук :)) без знаний опенкарт и php, js- это будет сложно реализовать. начнем хотя бы с того что "статьи" ни как не связаны с товарами, и для этого нужно вносить правки в модель, контролер и тд. и лучше бы это сделать отдельным модификатором(ми). это по сути модуль нужно писать.

Надіслати
Поділитися на інших сайтах


типа шорткодов.
Можно попробовать взять из WP библиотеку работы с шорткодами (wp-includes\shortcodes.php) и прикрутить к модулю, который бы выводил это в контенте статей.
Неужели ничего такого не сделано уже? Хорошо искали?

Надіслати
Поділитися на інших сайтах

1 hour ago, Dimasscus said:

то что вы хотите называется хук :)) без знаний опенкарт и php, js- это будет сложно реализовать. начнем хотя бы с того что "статьи" ни как не связаны с товарами, и для этого нужно вносить правки в модель, контролер и тд. и лучше бы это сделать отдельным модификатором(ми). это по сути модуль нужно писать.

 

Да, я примерно понимаю, как устроен Opencart. Уже много лет его ковыряю, но с нуля модуль написать пока что не могу - обычно готовое под себя переделываю :)

 

52 minutes ago, Prooksius said:

типа шорткодов.
Можно попробовать взять из WP библиотеку работы с шорткодами (wp-includes\shortcodes.php) и прикрутить к модулю, который бы выводил это в контенте статей.
Неужели ничего такого не сделано уже? Хорошо искали?

 

Искал и на англоязычных ресурсах - для 2 и 3 версии Opencart есть похожие решения, а для 1.5 нашел только этот модуль, который у меня не заработал.

 

По идее не должно быть сложно выводить в статьях две переменные по ID...

Надіслати
Поділитися на інших сайтах


43 минуты назад, upgradepro сказал:

Искал и на англоязычных ресурсах - для 2 и 3 версии Opencart есть похожие решения, а для 1.5 нашел только этот модуль, который у меня не заработал.

Да, именно так они и сделали - прикрутили библиотеку шорткодов из WP, так и знал, что уже есть.
попробовал на дефолтном магазине - все работает. Надо только дописать то что вам нужно.

Надіслати
Поділитися на інших сайтах

19 минут назад, Prooksius сказал:

Вот пример сделал в вышеупомянутом модуле:

511404085_Screenshot_2021-03-19(1).thumb.png.47354da90f029f04ee41e7b8bb5a3dbe.png

 

И вот такой результат на дефолтном шаблоне:

1589431361_Screenshot_2021-03-19(1).thumb.png.2060f7bb4d695898d93dbfea0edce4ce.png

Так вьіложите модулем- думаю многие будут радьі:)

Надіслати
Поділитися на інших сайтах


 

10 минут назад, Dimasscus сказал:

Так вьіложите модулем- думаю многие будут радьі:)

да он собсно в открытом доступе: https://github.com/qaharmdz/opencart-shortcodes ))

Надіслати
Поділитися на інших сайтах

1 минуту назад, upgradepro сказал:

У меня на OCStore 1.5.3.1 этот модуль, к сожалению, не заработал - белая страница :(

посмотрите логи сервера, что за ошибка?

Надіслати
Поділитися на інших сайтах

11 minutes ago, Prooksius said:

посмотрите логи сервера, что за ошибка?

 

"PHP message: PHP Fatal error:  Call to a member function do_shortcode() on a non-object in /www/test/vqmod/vqcache/vq2-system_engine_controller.php on line 100"

 

В этой строке:

 

$this->output = $this->shortcodes->do_shortcode($this->output);

Надіслати
Поділитися на інших сайтах


да, почему-то нет создания шорткодов в регистри в файле index.php в корне вашего опенкарта
Откройте его, найдите строчки типа этих:

//  Encryption
$registry->set('encryption', new Encryption($config->get('config_encryption')));

и добавьте после них:

// OpenCart Shortcodes
$registry->set('shortcodes', new Shortcodes($registry));

должно завестись

Надіслати
Поділитися на інших сайтах

4 minutes ago, Prooksius said:

да, почему-то нет создания шорткодов в регистри в файле index.php в корне вашего опенкарта
Откройте его, найдите строчки типа этих:


//  Encryption
$registry->set('encryption', new Encryption($config->get('config_encryption')));

и добавьте после них:


// OpenCart Shortcodes
$registry->set('shortcodes', new Shortcodes($registry));

должно завестись

 

Спасибо, сработало, сайт поднялся. Но шорткод не преобразуется - как в админке его записываю, например, [link_product id="42"] - так и отображается в итоге на странице.

Надіслати
Поділитися на інших сайтах


видно не подходит эта версия модуля под ваш магазин. Я не силен в 1.5 опенкартах.
В моде код прописывается  в catalog/controller/common/seo_url.php
Вот он у вас похоже не работает.
Надо ковыряться, куда его вставлять у вас...

Надіслати
Поділитися на інших сайтах

поставил себе 1.5 ради интереса. У меня этот модуль встал без проблем.
Как вариант, еще возможно у вас файл seo_url не задействован. И поэтому не срабатывает эта модификация.
Попробуйте немного изменить файл vqmod\xml\opencart_shortcodes.xml:

   <file name="catalog/controller/common/seo_url.php">
      <operation error="log" info="Load default and extend shortcodes ">
         <search position="after"><![CDATA[function index()]]></search>
         <add><![CDATA[
         //=========== OpenCart Shortcodes
		.......

На вот это:

   <file name="catalog/controller/common/seo_pro.php">
      <operation error="log" info="Load default and extend shortcodes ">
         <search position="after"><![CDATA[function index()]]></search>
         <add><![CDATA[
         //=========== OpenCart Shortcodes
		.......

И тогда уберите из индекса вот это:

// OpenCart Shortcodes
$registry->set('shortcodes', new Shortcodes($registry));

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

Important Information

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