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

Timber

Users
  
  • Posts

    75
  • Joined

  • Last visited

Everything posted by Timber

  1. @Dimusik и ещё одну вещь можно попробовать. Вы пишите, что генерируете сайтмап сторонним ресурсом. Откройте https://mysite.com/index.php?route=extension/feed/google_sitemap и сохраните его содержимое в sitemap2.xml и скормите его гуглу. Если будет аналогичная ошибка, значит проблема в модуле и надо копать в этом напрвлении.
  2. Это не должно влиять, если правильно редирект настроен. У вас ЧПУ есть? Попробуйте добавить в таблицу алиасов query='extension/feed/google_sitemap' keyword='google-sitemap.xml', проверить, что сайтмап открывается по ссылке https://example.com/google-sitemap.xml и в таком виде скормить его гуглу. Хотя это уже какое-то шаманство, на уровне битья в бубен - если сайтмап в браузере открывается, это xml и там нет никаких неправильных редиректов, то и робот его должен открыть. Проверьте, на всякий случай, что в заголовках ответа сервера у вас content-type: application/xml
  3. Зайдите в консоль браузера и на вкладке "Сеть" (в случае файрфокса) посмотрите, какой статус сервер отдаёт при отдаче сайтпмапа и заголовки ответа. И сразу дополню вопрос. sitemap.xml это ЧПУ ссылка или просто руками сгенерированный xml?
  4. В модели модуля доставки добавить условие типа if ($this->cart->getSubTotal() < $this->config->get('free_total')) { код расчёта стоимости доставки } Это для случая, когда используется стандартный модуль бесплатной доставки.
  5. Про сложность соглашусь. Вернее даже не про сложность, а про навороченность и не самую простую настройку продакшена. А вот попробовать и его можно в докере.
  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. Нашёл обсуждение этой проблемы в 2013 году. Причём ДК пометил его как исправленное, но, похоже, что-то пошло не так, поскольку во второй версии проблему подняли снова :-) Хорошо хоть, что проблему отловил на тестовом сайте, когда модуль оплаты по карточкам настраивал.
  22. Имеет смысл ещё отключить отображение ошибок, чтобы посетителей не пугать :-) Как это сделать в вашем случае спросите у хостера.
  23. При чекауте, после успешного прохождения оплаты вызывается метод $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 релей. Но тоже как-то вариант не особо нравится. Кто как решает эту проблему?
×
×
  • 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.