Jump to content

LazyDen

Новичок
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Обычный

About LazyDen

  • Rank
    Новичок

Recent Profile Visitors

508 profile views
  1. Собственно, сам и отвечу, т.к. это может кому-то пригодится еще, а если где ошибся, то меня, надеюсь, поправят. Решение оказалось на поверхности и из-за замыленного глаза "слона" и не заметил. При формировании массива $queries в методе rewrite(), добавляем в него все компоненты URI, для которых необходима замена на алиасы. Последние, естественно, должны быть прописаны в таблице "url_alias". В моём случае, часть кода будет выглядеть так: <?php $queries = []; foreach ($data as $key => $value) { switch ($key) { /* ... остальной код ... */ case 'store_id': $queries[] = 'stores/stores'; // этой строки и не хватало для нужного мне результата $queries[] = $key . '=' . $value; unset($data[$key]); $postfix = 1; break; default: break; } }
  2. Приветствую, господа! Для начала, коротко опишу суть моей задачи. Сделал страницу со списком магазинов и отдельные страницы с информацией по каждому магазину. Ссылки без ЧПУ выглядят так: '/index.php?route=stores/stores' // страница со списком магазинов '/index.php?route=stores/stores&store_id=1' // страница с информацией по текущему магазину Немного подправил код файла seo_pro.php, сделав по образу и подобию с товарами, и в итоге получились ссылки такого вида: '/magaziny/' // страница со списком магазинов '/nazvanie_magazina_1.html' // страница с информацией по текущему магазину Всё бы было хорошо, но вторая ссылка нужна немного в другом формате, а именно: '/magaziny/nazvanie_magazina_1.html' С помощью "костыля" я конечно же могу конкатенировать части URL, но хотелось бы сделать это более кошерно. Собственно вопрос и состоит в том, как это можно реализовать? Код писать за меня не нужно, а за пинок в нужном направлении - буду благодарен.
  3. Спасибо. Думал, что в движке был предусмотрен подобный механизм и есть стандартные методы. Вопрос можно считать закрытым. Вот пространств имен и автолоудера с их учетом тут очень не хватает. В обычной ситуации, я бы сделал так и не парился: use \catalog\model\catalog\ModelCatalogCatalog as MyCatalog;
  4. И так, чтобы закрыть уже этот вопрос... Если предположить, что класс не относится к API, то как правильно к нему обращаться из класса админки, если он расположен в каталоге? Если пробую так: $test = $this->load->model('catalog/catalog'); То получаю ошибку "Could not load model", что вполне понятно, т.к. файл не находится в "/admin/model/catalog/catalog.php", а расположен в "/catalog/model/catalog/catalog.php"
  5. Спасибо. Как я понял, с API можно работать только через CURL или есть еще варианты?
  6. Приветствую! С OpenCart никогда не работал, но постараюсь как можно короче описать суть, чтобы не нагружать лишним. При открытии какого-либо заказа для редактирования в админке, на сервер отправляется около 30-ти запросов, что для моего понимая просто дико. Запросы адресованы к разным контроллерам, которые расположены в "catalog". Я хочу изменить данную ситуацию, достав все необходимые данные на сервере, но как обратится к контроллерам - понять не могу. К примеру, в методе "getForm" класса "ControllerSaleOrder" (\admin\controller\sale\order.php) мне нужно вызвать метод "add" класса "ControllerApiCart" (\catalog\controller\api\cart.php). Подскажите, пожалуйста, как это можно сделать? Если важно, то OpenCart 2 версия 2.0.3.1
×

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.