Jump to content

Timber

Пользователи
  • Content Count

    54
  • Joined

  • Last visited

 Content Type 

Profiles

Forums

Downloads

Статьи

История версий

Store

Blogs

Downloads Plus Support

module__dplus_manager

Everything posted by Timber

  1. соответственно получается, что с тем, что выводит модуль проблем нет. Это ваш конфиг? Я в апачах не силён, но в моём понимании переход на sitemap.xml как раз вызывает index.php?route=extension/feed/google_sitemap То есть, в принципе, вы добились того, чего хотели. Ну а то, что гугл не может прочитать index.php?route=extension/feed/google_sitemap можно списать на сбой в гугле. Может потом прочухается.
  2. @Dimusik и ещё одну вещь можно попробовать. Вы пишите, что генерируете сайтмап сторонним ресурсом. Откройте https://mysite.com/index.php?route=extension/feed/google_sitemap и сохраните его содержимое в sitemap2.xml и скормите его гуглу. Если будет аналогичная ошибка, значит проблема в модуле и надо копать в этом напрвлении.
  3. Это не должно влиять, если правильно редирект настроен. У вас ЧПУ есть? Попробуйте добавить в таблицу алиасов query='extension/feed/google_sitemap' keyword='google-sitemap.xml', проверить, что сайтмап открывается по ссылке https://example.com/google-sitemap.xml и в таком виде скормить его гуглу. Хотя это уже какое-то шаманство, на уровне битья в бубен - если сайтмап в браузере открывается, это xml и там нет никаких неправильных редиректов, то и робот его должен открыть. Проверьте, на всякий случай, что в заголовках ответа сервера у вас content-type: application/xml
  4. Зайдите в консоль браузера и на вкладке "Сеть" (в случае файрфокса) посмотрите, какой статус сервер отдаёт при отдаче сайтпмапа и заголовки ответа. И сразу дополню вопрос. sitemap.xml это ЧПУ ссылка или просто руками сгенерированный xml?
  5. В модели модуля доставки добавить условие типа if ($this->cart->getSubTotal() < $this->config->get('free_total')) { код расчёта стоимости доставки } Это для случая, когда используется стандартный модуль бесплатной доставки.
  6. Вообще, если у ТС главная картинка выводится два раза (как основной рисунок и как привьюшка), то надо просто в шаблоне убрать вывод основной картинки как привьюшки.
  7. Есть подобного рода проект https://www.vuestorefront.io/ Правда он написан на vue, а в качестве хранилища elasticsearch. Для опенкарта 2.3 есть коннектор, который даже работает. Так что, если хочется именно реакт + монго, то я бы сфокусировался именно на фронт-энде + модуль для опенкарта, реализующий api.
  8. Это надо делать в шаблоне product.tpl (или twig). Но, насколько я помню, стандартный шаблон опенкарта главную картинку в "тумбы" не выводит, а выводит только дополнительные. Если же у вас какой-то кастомный шаблон, то ищите в нём код вывода картинок типа: <a class="thumbnail" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"> <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a> и загоняйте его в условие <?php if ($images) ?> вывод картинок {?php } ?> Если опенкарт 3.0, то аналогично, но на языке шаблонизатора типа {% if images is not empty %} вывод картинок {% endif %}
  9. Хочу в своём модуле немного изменить логику многоязычного SEO и переключать язык в том случае, если пользователь зашёл на URL другого языка. Думаю сделать это таким образом: $this->session->data['language'] = $language_code; $this->config->set('config_language_id', $language_id); $this->config->set('config_language', $language_code); $language = new Language($language_code); $language->load($language_code); $this->registry->set('language', $language); Ничего не забыл, или стоит ещё языковую куку переустановить?
  10. У меня такое ощущение, что он сам уже не знает, когда и какую версию он выпускает. На гите сейчас 3.1.0.0b, при загрузке экстеншена можно выбрать 3.0.3.0b. Судя по комментам на гите, он активно принялся bootstrap 4 прикручивать. Сколько это времени займёт и когда при таких раскладах что-то стабильное ждать - вообще непонятно.
  11. Я про последнюю активность на гитхабе по этим файлам.
  12. Факт. Но в startup.php так и осталось // Language Cookie if (isset($this->request->cookie['language']) && array_key_exists($this->request->cookie['language'], $language_codes)) { $code = $this->request->cookie['language']; } // Language Detection if (!$code && !empty($this->request->server['HTTP_ACCEPT_LANGUAGE'])) { И судя по тому, что все языковые вещи менялись пару недель назад, то в релизе всё так и будет. И получается, что, например, пользователь раньше был на сайте и у него в куках установлен русский. Потом он пришёл по англоязычной ссылке (из поиска, фейсбука или ещё откуда-нибудь) и вместо того, чтобы ему открыть оригинальную английскую страницу, переключить язык или показать русскую, он будет отправлен на страницу ошибки 404. Или я что-то недопонимаю?
  13. Смотрю на seo_url.php от текущей разработки. Там присутствует вот такой запрос: foreach ($parts as $part) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($part) . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'"); ........ } else { $this->request->get['route'] = 'error/not_found'; break; } } Зачем по корректному запросу, но на другом языке, отправлять пользователя на 404? Или в 3.1 язык в куках не сохраняется и убрана установка языка по браузерному lang? А вот идея с таблицей seo_regex хорошая. Давно надо было так сделать.
  14. А версия опенкарта какая? Если 2.2.0, то там баг в SSL. В новом релизе обещают исправить.
  15. А он потом на этапе разбора XML не посыпется? Хотя, вроде как, не должен - это при инициализации класса задаётся. Но вот в документации https://github.com/opencart/opencart/wiki/Modification-System эта строка присутствует. <?xml version="1.0" encoding="utf-8"?> <modification> <name>Modification Default</name> <version>1.0</version> <author>OpenCart Ltd</author> <link>http://www.opencart.com</link> <file path="catalog/controller/common/home.php"> <operation> <search><![CDATA[ $data['column_left'] = $this->load->controller('common/column_left'); ]]></search> <add position="replace"><![CDATA[ test123 ]]></add> </operation> </file> </modification> И другие файлы с этой строкой грузятся.
  16. Есть у меня небольшой модуль, который я выложил в общий доступ. В составе этого модуля есть файл ocmod. У одного из скачавших, при попытке загрузки модификации (практически сразу, после нажатия на кнопку Upload) opencart выдаёт окошко с надписью "Error undefined". Пробовал другие окмоды - грузятся без проблем. Пробовал переименовывать файл, та же самая история. В логах опенкарта ошибок нет. При этом предыдущая версия этого же окмода раньше была поставлена без проблем, но сейчас при попытке загрузки выдаётся такая же ошибка. Если этот же файл положить в корень system, то опенкарт его подхватывает и проделывает все необходимые модификации. В какую сторону имеет смысл копать? Opencart 2.1.0.1 английский, веб-сервер Апач на шаред хостинге.
  17. Я к тому, что баг нехороший. Если оплата карточкой, то оплата физически проходит, а пользователь остаётся на форме ввода данных карточки. В итоге может начать повторно оплачивать. А про то, с чем это связано, понятно, что пользователь не догадается.
  18. У покупателя это проявляется в том, что оплата прошла, а финального сообщения от магазина он не видит. Хотя, как я подозреваю, многие пейпалом платят, а там в любом случае сначала получаешь результат от пейпала, а потом редирект в магазин. Если на этом этапе что-то сломалось, то не так и страшно, тем более письмо от пейпала всё равно приходит. А историю изменений посмотрю, спасибо за идею.
  19. В итоге во 2-й версии и exit остался и trigger_error. Странно, что никто в массовом порядке на эту ошибку не жалуется. Всё-таки smtp почта довольно популярна последнее время стала. Я, в итоге, пошёл по пути 1.
  20. Имеет смысл ещё отключить отображение ошибок, чтобы посетителей не пугать :-) Как это сделать в вашем случае спросите у хостера.
  21. При чекауте, после успешного прохождения оплаты вызывается метод $this->model_checkout_order->addOrderHistory, который, среди всего прочего, отправляет письма заказчику и администратору. В том случае, если используется php mail, то никаких проблем нет. А вот отправка почты через SMTP выглядит таким образом (system/library/mail.php) if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } И так после любой ошибки. Соответственно, если возникает ошибка при оплате почты, выполнение прерывается и пользователь остаётся на странице оплаты, в лучшем случае с заблокированной кнопкой "оплатить". Вижу два варианта решения: 1. Заменить все exit() на return с записью в лог. Но в этом случае придётся менять файлы ядра, что ни есть хорошо. 2. Настроить sendmail на работу через SMTP релей. Но тоже как-то вариант не особо нравится. Кто как решает эту проблему?
  22. Я вот тоже в эту сторону думаю. Хотя, конечно, буквально пару строк поменять в ModelExtensionModule и module_id у нас в кармане.
  23. Я тоже так подумал. Оказалось, что нет. "Умные" архитекторы сделали такую вещь в catalog/model/extension/module.php class ModelExtensionModule extends Model { public function getModule($module_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "module WHERE module_id = '" . (int)$module_id . "'"); if ($query->row) { return json_decode($query->row['setting'], true); } else { return array(); } } }В итоге передаётся только содержимое setting из oc_module
×

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.