Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

markimax

Users
  • Posts

    20,095
  • Joined

  • Last visited

Everything posted by markimax

  1. Ну вот и разобрались.... Во первых не было сделано так как в инструкции по установке. А именно не повешен Hook на схему not_found (второй hook был повешен почему-то на схему blog, но не на схему not_found ?) В инструкции install.txt четко написано как должно быть сделано и для чего. Второе для вывода меню был использован совсем не тот виджет, т.е. опять было сделано не так как описано в инструкции faq.txt Для избежания в дальнейшем траты времени и сил на преодоление преград, которые вы сами себе создаете, потратьте лишнее 5 минут на внимательность. (без обид) После правильной настройки (в течении ~2 минут) всё работает, как надо, и seo тоже.
  2. Как вы понимаете, такого быть не может, так как у других все в порядке в таких сборках. Вы всё правильно настроили? Пишите в ЛС, дайте доступ в админ часть и разберемся. Потому что я уже встречал столько глупостей, не связанных с модулем.
  3. Включите 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 (не стандартный)
  4. Если с картинками, то придется полистать (описывалось много раз), но лучше воспользоваться поиском по теме (ищите по словам "меню"). Без картинок описано в faq.txt
  5. В настройках категорий блога. Т.е. для записей которых Вы хотите сделать изменения, создаете категорию (указываете её главной) и прописываете свой шаблон.
  6. Говорят - работает (сам видел, что работает) :) Но мое отношение к шопике вот какое: Гордым пользователям темы Shoppica посвящается: эта тема красива, но сделана ужасно с точки зрения программирования и архитектуры, верстки, бесплатный совет - смените её, иначе у вас и далее какие-то модули будут работать некорректно.
  7. Да ошибка связана с тем что магазин поместили в папку вида http:/ / мой_магазин.com/store Так лучше не делать, так как это очень плохо влияет на seo, (так как любая ссылка становиться автоматически второстепенной, вида http:/ / мой_магазин.com/store/news), плюс не будет корректно работать seo_pro (если захотите установить) Лучше сделать так http:/ / store.мой_магазин.com Проблему конечно решили быстро, но лучше переопределить пути магазина.
  8. Видел я и такие "темы" которые на главной не имеют "Содержание шапки" :) Кстати меню не обязательно вешать на "Содержание шапки" можно повесить на подвал или куда угодно.
  9. Плохо было бы если вообще не выводилось (а вы повесили только для схемы home?, а выводиться везде ... рассмешило :) , если везде повесили, а только на home не выводится, проверьте в настройках схемы, что там прописано, или файл отвечающий за seo (там может быть какой нибудь глупый "допил" :) ) Тяжело сказать что там с этими пользовательскими темами, что там намудрили, я такое иногда нахожу, что поверить не могу в такую глупость. Тот кто так делает темы, наверняка может начудить прилично в ней, иногда путают схемы, путают лево с право и т.п. :) Поэтому напомню: На будущее другим. Прошу вас, не вредите сами себе и не ищите проблем на голову, перед покупкой шаблонов (когда просматриваете демо, просмотрите Firebug - ом), не смотрите на красоты, а посмотрите хотя бы сетку верстки, классы и id темы, чтобы они соответствовали стандартам opencart. И остерегайтесь тех модулей которые заменяют системные файлы opencart (даже посредством vqmod) Практически любой модуль (99,9%) на сегодняшний день можно сделать без замены системных файлов opencart и без vqmod. Любая замена - признак "плохого тона" и слабой архитектуры модуля.
  10. А ничего кардинально допиливать не придется. Вы даже не заметите, просто архитектура поменяется, станут гибче настройки, вывод списка записей будет виджетом, как и комментарии, сама запись тоже виджетом и т.п. шаблоны можно будет выбирать из списка. Это усовершенствования скорее для разработчиков, они смогут сами делать виджеты на основе имеющихся, если вдруг захотят конкретно что-то изменить в контроллерах. Это скорее будет настоящая MVC модульная CMS в opencart. (joomla и т.п. можно отправлять в мусорку уже сейчас (и 4.* неплохо заменяет))
  11. <div id="categories"> на <div id="menu"> Я вообще не понимаю, зачем верстальщик изменил id блока меню
  12. Вышла версия 4.17 Добавлен выбор "главной" категории (раньше "главная" категория автоматом бралась от последней созданной)
  13. Да просто начинаете писать имя товара, и должен появиться список
  14. Если вам надо чтобы сразу выводилась "простыня" подкатегорий тогда в шаблоне .../template/module/blog.tpl - замените echo 'display:none;' на echo '' сохраняете его как blog_my.tpl и прописываете в виджете
  15. Давайте, с одним уже разобрался, читали? 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
  16. На будущее другим. Прошу вас, не вредите сами себе и не ищите проблем на голову, перед покупкой шаблонов (когда просматриваете демо, просмотрите Firebug - ом), не смотрите на красоты, а посмотрите хотя бы сетку верстки, классы и id темы, чтобы они соответствовали стандартам opencart. И остерегайтесь тех модулей которые заменяют системные файлы opencart (даже посредством vqmod) Практически любой модуль (99,9%) на сегодняшний день можно сделать без замены системных файлов opencart и без vqmod. Любая замена - признак "плохого тона" и слабой архитектуры модуля.
  17. Разобрались, пользовательская тема-сборка, и какой-то горе-"разработчик" сборки убрал вообще все упоминания про 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'; } } } ?>
  18. Тогда какой-то сторонний модуль, прочитайте выше мой пост, отредактированный. Пишите в ЛС разберемся.
  19. Может 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, в оригинальных упоминаний быть не должно. Если есть - это уже "допилы" топором.
  20. Честно сказать, ошибка совсем не понятная более 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. Там не может быть ошибки. Ищите в других модулях конфликт.
  21. А у вас тема пользовательская? Опять наверно верстальщик id=menu переименовал :) Должна быть такая конструкция <div id="menu"> <ul> <li> <a href="...">....</a> <div style=""> </li> ..... Посмотрите как на сайте демо сделано http://opencartadmin...u/?record_id=12
×
×
  • Create New...

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.