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

markimax

Користувачі
  • Публікації

    20 093
  • З нами

  • Відвідування

Усі публікації користувача markimax

  1. Включите Hook на not_found и Home схеме - описано в install.txt и проверьте чтобы seo_pro был не допиленный топором. Вы читали на форуме https://opencartforum.com/topic/13781-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d1%8c-%d0%b1%d0%bb%d0%be%d0%b3-%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8-%d0%be%d1%82%d0%b7%d1%8b%d0%b2%d1%8b-%d0%b3%d0%b0%d0%bb%d0%b5%d1%80%d0%b5%d1%8f-faq/page__view__findpost__p__122025 Проверьте чтобы было правильно. Скорее всего у вас допиленный топором seo pro (не стандартный)
  2. Если с картинками, то придется полистать (описывалось много раз), но лучше воспользоваться поиском по теме (ищите по словам "меню"). Без картинок описано в faq.txt
  3. В настройках категорий блога. Т.е. для записей которых Вы хотите сделать изменения, создаете категорию (указываете её главной) и прописываете свой шаблон.
  4. Говорят - работает (сам видел, что работает) :) Но мое отношение к шопике вот какое: Гордым пользователям темы Shoppica посвящается: эта тема красива, но сделана ужасно с точки зрения программирования и архитектуры, верстки, бесплатный совет - смените её, иначе у вас и далее какие-то модули будут работать некорректно.
  5. Да ошибка связана с тем что магазин поместили в папку вида http:/ / мой_магазин.com/store Так лучше не делать, так как это очень плохо влияет на seo, (так как любая ссылка становиться автоматически второстепенной, вида http:/ / мой_магазин.com/store/news), плюс не будет корректно работать seo_pro (если захотите установить) Лучше сделать так http:/ / store.мой_магазин.com Проблему конечно решили быстро, но лучше переопределить пути магазина.
  6. Видел я и такие "темы" которые на главной не имеют "Содержание шапки" :) Кстати меню не обязательно вешать на "Содержание шапки" можно повесить на подвал или куда угодно.
  7. Плохо было бы если вообще не выводилось (а вы повесили только для схемы home?, а выводиться везде ... рассмешило :) , если везде повесили, а только на home не выводится, проверьте в настройках схемы, что там прописано, или файл отвечающий за seo (там может быть какой нибудь глупый "допил" :) ) Тяжело сказать что там с этими пользовательскими темами, что там намудрили, я такое иногда нахожу, что поверить не могу в такую глупость. Тот кто так делает темы, наверняка может начудить прилично в ней, иногда путают схемы, путают лево с право и т.п. :) Поэтому напомню: На будущее другим. Прошу вас, не вредите сами себе и не ищите проблем на голову, перед покупкой шаблонов (когда просматриваете демо, просмотрите Firebug - ом), не смотрите на красоты, а посмотрите хотя бы сетку верстки, классы и id темы, чтобы они соответствовали стандартам opencart. И остерегайтесь тех модулей которые заменяют системные файлы opencart (даже посредством vqmod) Практически любой модуль (99,9%) на сегодняшний день можно сделать без замены системных файлов opencart и без vqmod. Любая замена - признак "плохого тона" и слабой архитектуры модуля.
  8. А ничего кардинально допиливать не придется. Вы даже не заметите, просто архитектура поменяется, станут гибче настройки, вывод списка записей будет виджетом, как и комментарии, сама запись тоже виджетом и т.п. шаблоны можно будет выбирать из списка. Это усовершенствования скорее для разработчиков, они смогут сами делать виджеты на основе имеющихся, если вдруг захотят конкретно что-то изменить в контроллерах. Это скорее будет настоящая MVC модульная CMS в opencart. (joomla и т.п. можно отправлять в мусорку уже сейчас (и 4.* неплохо заменяет))
  9. <div id="categories"> на <div id="menu"> Я вообще не понимаю, зачем верстальщик изменил id блока меню
  10. Вышла версия 4.17 Добавлен выбор "главной" категории (раньше "главная" категория автоматом бралась от последней созданной)
  11. Да просто начинаете писать имя товара, и должен появиться список
  12. Если вам надо чтобы сразу выводилась "простыня" подкатегорий тогда в шаблоне .../template/module/blog.tpl - замените echo 'display:none;' на echo '' сохраняете его как blog_my.tpl и прописываете в виджете
  13. Давайте, с одним уже разобрался, читали? https://opencartforum.com/topic/13781-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d1%8c-%d0%b1%d0%bb%d0%be%d0%b3-%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8-%d0%be%d1%82%d0%b7%d1%8b%d0%b2%d1%8b-%d0%b3%d0%b0%d0%bb%d0%b5%d1%80%d0%b5%d1%8f-faq/page__view__findpost__p__133818
  14. На будущее другим. Прошу вас, не вредите сами себе и не ищите проблем на голову, перед покупкой шаблонов (когда просматриваете демо, просмотрите Firebug - ом), не смотрите на красоты, а посмотрите хотя бы сетку верстки, классы и id темы, чтобы они соответствовали стандартам opencart. И остерегайтесь тех модулей которые заменяют системные файлы opencart (даже посредством vqmod) Практически любой модуль (99,9%) на сегодняшний день можно сделать без замены системных файлов opencart и без vqmod. Любая замена - признак "плохого тона" и слабой архитектуры модуля.
  15. Разобрались, пользовательская тема-сборка, и какой-то горе-"разработчик" сборки убрал вообще все упоминания про seo контроллеры ! (и в index.php тоже) и... втулил seo обработчик вместо стандартной библиотеки /system/library/url.php (просто заменил файл, он наверно не знает что такое контроллеры) это же додуматься надо было! Такого идиотизма я еще не встречал. Теперь пользователь имеет проблемы практически со всеми модулями. Вот привожу вам файл url.php замененный, просто обалдеть. Я даже знаю откуда эта глупость, обратите внимание на упоминания information/article, даже копирайты не поставлены ни где в модуле, горе-"разработчику" стыдно наверно подписываться под "этим" чудом. (а вы спрашиваете почему в моем модуле много моих копирайтов (это наоборот признак хорошего тона), да потому что не стыдно за свой модуль, и пользователи, которые купили, должны знать кто написал модуль, чтобы потом было кому вопросы задавать) Внизу следует "верх" идиотизма (как можно было заменить системный класс Url этим бредом) <?php class Url { public $args = array(); public $ignore = array(); private $url; private $ssl; private $keywords; private $links = array(); private $rewrite = array( 'product/product', 'product/manufacturer/info', 'product/category', 'information/information', 'information/article' ); public function __construct($registry, $url, $ssl = '') { $this->db = $registry->get('db'); $this->config = $registry->get('config'); $this->request = $registry->get('request'); $this->url = $url; $this->ssl = $ssl; if (isset($this->request->get['_route_'])) { $this->decode($this->request->get['_route_']); } } public function link($route, $args = '', $gets = false, $connection = 'NONSSL', $hash = '') { if ($connection == 'NONSSL') { $url = $this->url; } else { $url = $this->ssl; } $url .= 'index.php?route=' . $route; if ($this->args && $gets === true) { foreach ($this->args as $key => $value) { if (isset($this->request->get[$key]) && $this->request->get[$key] != $value && !in_array($key, $this->ignore)) { $args .= '&' . $key . '=' . urlencode(html_entity_decode($this->request->get[$key], ENT_QUOTES, 'UTF-8')); } } } if ($args) { $url .= str_replace('&', '&', '&' . ltrim($args, '&')); } if (in_array($route, $this->rewrite) && $this->config->get('config_seo_url')) { $url = $this->rewrite($url); } if ($hash) { $url .= '#' . $hash; } return $url; } private function rewrite($link) { $url_data = parse_url(str_replace('&', '&', $link)); $url = ''; $data = array(); parse_str($url_data['query'], $data); foreach ($data as $key => $value) { if (isset($data['route'])) { if ( ($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/info' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id') || ($data['route'] == 'information/article' && ($key == 'article_id' || $key == 'article_category_id')) ) { $index = md5($key . $value); if (!isset($this->keywords[$index])) { $query = $this->db->query("SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; $this->keywords[$index]['keyword'] = $query->row['keyword']; $this->keywords[$index]['num_rows'] = true; unset($data[$key]); } else { $this->keywords[$index]['num_rows'] = false; } } else { if ($this->keywords[$index]['num_rows']) { $url .= '/' . $this->keywords[$index]['keyword']; unset($data[$key]); } } } elseif ($key == 'path') { $categories = explode('_', $value); foreach ($categories as $category) { $index = md5($key . $category); if (!isset($this->keywords[$index]['keyword'])) { $query = $this->db->query("SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; $this->keywords[$index]['keyword'] = $query->row['keyword']; $this->keywords[$index]['num_rows'] = true; unset($data[$key]); } else { $this->keywords[$index]['num_rows'] = false; } } else { if ($this->keywords[$index]['num_rows']) { $url .= '/' . $this->keywords[$index]['keyword']; unset($data[$key]); } } } } } } if ($url) { unset($data['route']); $query = ''; if ($data) { foreach ($data as $key => $value) { $query .= '&' . $key . '=' . $value; } if ($query) { $query = '?' . trim($query, '&'); } } return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query; } else { return $link; } } private function decode($_route_) { $parts = explode('/', $_route_); $sql = array(); foreach ($parts as $part) $sql[] = "'" . $this->db->escape($part) . "'"; $query = $this->db->query("SELECT keyword, query FROM " . DB_PREFIX . "url_alias WHERE keyword IN(" . implode(',', $sql) . ")"); $queries = array(); if ($query->num_rows && $query->num_rows == count($parts)) { foreach ($query->rows as $row) { $queries[md5($row['keyword'])] = $row['query']; } } if ($queries) { foreach ($parts as $part) { $url = explode('=', $queries[md5($part)]); if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } if ($url[0] == 'article_category_id') { $this->request->get['article_category_id'] = $url[1]; } if ($url[0] == 'article_id') { $this->request->get['article_id'] = $url[1]; } } } else { $this->request->get['route'] = 'error/not_found'; } if (isset($this->request->get['product_id'])) { $this->request->get['route'] = 'product/product'; } elseif (isset($this->request->get['path'])) { $this->request->get['route'] = 'product/category'; } elseif (isset($this->request->get['manufacturer_id'])) { $this->request->get['route'] = 'product/manufacturer/info'; } elseif (isset($this->request->get['information_id'])) { $this->request->get['route'] = 'information/information'; } elseif (isset($this->request->get['article_id']) || isset($this->request->get['article_category_id'])) { $this->request->get['route'] = 'information/article'; } } } ?>
  16. Тогда какой-то сторонний модуль, прочитайте выше мой пост, отредактированный. Пишите в ЛС разберемся.
  17. Может alias blog прописан еще в другом модуле (проходили, один буржуйский новостной модуль за 70 у.е. (который к тому же требует vqmod или изменений файлов) по идиотски зарезервировал для себя все url типа /blog/*, ну идиотизм полный), товаре, категории и seo_url или seo pro начинают его пихать туда сюда, или в seo_pro seo_url какие-то левые "допилы" топором (проверьте на упоминания blog_id, record_id их там быть не должно). (особенно актуально для сборки maxystore, там стоят глупые "допилы") Т.е. я так понял, если категорию блога назвать не /blog а например /myblog то все работает? Если нет, проверяйте seo_pro и seo_url на предмет упоминаний blog_id и record_id, в оригинальных упоминаний быть не должно. Если есть - это уже "допилы" топором.
  18. Честно сказать, ошибка совсем не понятная более 200 человек купило, не у кого такой не было. Какая тема, версия opencart. Да вообще бред какой-то. Какие модули стоят? Отключайте по очереди другие, скорее всего конфликт вышел. Смотрите /system/library/url.php <?php class Url { private $url; private $ssl; private $hook = array(); public function __construct($url, $ssl) { $this->url = $url; $this->ssl = $ssl; } ....... public function addRewrite($hook) { $this->hook[] = $hook; } public function rewrite($url) { foreach ($this->hook as $hook) { $url = $hook->rewrite($url); } return $url; } } ?> Ну а теперь скажите как это он может быть не определен? if ($this->config->get('config_seo_url')) { $this->url->addRewrite($this); } Это стандартная конструкция! 1:1 как у seo_url и seo_pro. Там не может быть ошибки. Ищите в других модулях конфликт.
  19. А у вас тема пользовательская? Опять наверно верстальщик id=menu переименовал :) Должна быть такая конструкция <div id="menu"> <ul> <li> <a href="...">....</a> <div style=""> </li> ..... Посмотрите как на сайте демо сделано http://opencartadmin...u/?record_id=12
  20. 5-ю? Нет не трудно. Про Mijoshop не слышал. Joomla не пользуюсь. Зачем joomla нужна если есть модуль ;)?
  21. Пока, да. установить переменную в языковом файле /catalog/language/russian/module/blog.php. А остальные ссылки - это ссылки редактирования записи из front, поправлю в следующей версии.
×
×
  • Створити...

Important Information

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