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

Как из своего скрипта сгенерировать ссылку через opencart


Recommended Posts

Есть отдельный ПХП файл в котором я отображаю метатеги всех товаров (делаю обычные селекты из БД из соотв. таблицы).

 

Вот мне нужно для каждого товара добавить ссылку на него. Т.е. я получил ID товара и категории, сгенерировать собираюсь через стандартное

echo $this->url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);

Но, естесственно мой скрипт этого не знает.

 

Вопрос: как подключить в свой файл нужные модули, тиап этого

$this->load->model('catalog/category');

чтобы мой скрипт смог с ними работать?

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


а если так 

require_once $_SERVER['DOCUMENT_ROOT'].'/config.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/system/startup.php';
$url = new Url(HTTP_SERVER, HTTP_SERVER);
вызывать так 
echo $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

Теперь возникла необходимость получить информацию о категории.

Но там немного другой принцип:

$cat_info = ...->model_catalog_category->getCategory($row['category_id']);

$url соответственно не работает.

в оригинале вместо ... стоит $this

 

Как сделать чтобы из моего скрипта это тоже работало?

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


Сделайте этот файл отдельным контроллером - получите доступ ко всему функционалу OC

 

И как это сделать?

 

Хотя мне вполне хватило бы аналога решения предыдущей задачи

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


И как это сделать?

 

Хотя мне вполне хватило бы аналога решения предыдущей задачи

 

Создайте файл нового контроллера, и в нем делайте что хотите, все будет работать в контексте движка, можно будет в полной мере пользоваться функциями движка.

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

Создайте файл нового контроллера, и в нем делайте что хотите, все будет работать в контексте движка, можно будет в полной мере пользоваться функциями движка.

 

А по шагам можете расписать?

Никогда не создавал просто.

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


А по шагам можете расписать?

Никогда не создавал просто.

 

На примере контроллера админки:

  1. Копируете любой контроллер, например common/home.php
  2. Переименовываете home.php в chaser.php,
  3. Открываете файл переименовываете ControllerCommonHome в ControllerCommonChaser
  4. Теперь он будет доступен по адресу /admin/index.php?route=common/chaser (не забудьте зайти в Группы пользователей, чтобы обновить права для нового раздела)

 

Рабочий код нужно писать в функции index()

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

Ну у меня так: создал папку /scripts/, а в ней лежат свои файлы пхп.

 

Положим создал я тот контроллер.

Ну и как мне его теперь приинклудить, чтобы в своих файлах использовать этот метод:

$cat_info = ...->model_catalog_category->getCategory($row['category_id']);
Надіслати
Поділитися на інших сайтах


остуди голову.

зачем тебе "отдельные файлы с функционалом opencart`a"?

для получения ссылки на товар можно написать "микроконтроллер" :ugeek: для opencart`a, который будет отдавать ссылку при получении product_id/category_id/manufacturer_id/information_id...

для получения информации о категории - пиши sql-запрос и БЕРИ необходимые ДАННЫЕ НАПРЯМУЮ ИЗ БД. в чем проблема?

сейчас складывается ощущение, что ты там клепаешь франкенштейна из бессмысленных бессвязных лишних кусков кода.

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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