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

mpn2005

Users
  
  • Posts

    3,222
  • Joined

  • Last visited

Everything posted by mpn2005

  1. Можно поправить и будет работать так как вы хотите. Но это не является ошибкой. Допишите '/' в середину, раз уж вы их лепите куда попало. URL - это ссылка, туда ничего не надо дописывать и надумывать. Вы мне покажите такую ссылку, которую сгенерировал сам движок. Вот тогда можно говорить о проблеме. Вот вам пример паранои против убирания "лишних" слешей https://www.google.com////////////////////?q=test Тут '/' в конце является частью значения get параметра. И трогать его архитектурно не верно. Все слеши, которые входит в домен и папку закончились после символа '?'
  2. Так у вас получается id товара = 40/ Точно так же можно дописать 40z И это приведёт к тому, что не будет найден seo url - он же ищется по строке 'product_id=40/' (А т.к. по запросу не найден url то нет и редиректа) А при выводе товара, идёт преобразование к числу и '40/' превращается в число 40 А если написать '401', то будет уже совсем другой товар. Это не глюк. Т.к. движок ни где такие ссылки не генерирует. А то что вы дописываете всё что попало в URL - это уже совсем другая история и SeoPeo тут ни при чём.
  3. Проверьте чтобы у вас в файле admin/config.php была задана переменная OPENCARTFORUM_SERVER Другая возможная причина - это блокировка на стороне хостинга, при получении данных с сервера opencartforum.
  4. Вот так должно быть для php 7.3+ Для файла system/framework.php setcookie($config->get('session_name'), $session->getId(), [ 'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0, 'path' => ini_get('session.cookie_path'), 'domain' => ini_get('session.cookie_domain'), 'secure' => true, 'httponly' => true, 'samesite' => 'Lax', ]); Для файла catalog/controller/startup/session.php setcookie($this->config->get('session_name'), $this->session->getId(), [ 'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0, 'path' => ini_get('session.cookie_path'), 'domain' => ini_get('session.cookie_domain'), 'secure' => true, 'httponly' => true, 'samesite' => 'Lax', ]); Код немного отличается, т.к. во втором случае он выполняется в методе объекта. В этом, скорее всего, вы и слепили себе ошибку 500.
  5. Вот тут ровно та же запись. А если выпадет белый экран, то надо смотреть лог ошибок php. Скорее всего где-то синтаксическая ошибка.
  6. Вот как выше писали и должно работать: Только вместо констант туда всё из переменных записать.
  7. Там не массив. Вот эти два параметра булевы. Нужно передать их просто как true; Что касается samesite, то тут есть неболшой чит - его можно приклеить к параметру path. Массивом параметры можно передавать начиная с версии php 7.3 Вот итоговая запись под ваш случай: setcookie($config->get('session_name'), $session->getId(), (ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0), ini_get('session.cookie_path') . '; SameSite=Lax', ini_get('session.cookie_domain'), true, true); Писал без проверки. Надеюсь, нигде не промазал. А вообще все эти ответы есть на указанной странице из документации php. Коментарии тоже полезно читать.
  8. Надо просто добавить нужные параметры в вызов функции setcookie https://www.php.net/manual/ru/function.setcookie.php Делать это надо в двух файлах: system/framework.php catalog/controller/startup/session.php
  9. Вот на этом уровне и стоит включать товары. Когда к нему добавилась картинка по АПИ, то товар включается. Или простым запросом после каждой обработки АПИ: UPDATE oc_product SET status = 1 WHERE status = 0 AND image > '' Если есть заглушка для изображения, то надо добавить и его для проверки в запрос.
  10. Вам как раз предложили самый правильный вариант. Т.к. отключение сработает и на всех кастомных модулях и решениях - фильтрах, модули из шаблона, модули карты сайта, фиды выгрузки на маркеты и другие. А если править и скрывать на фронте, то универсально не сделать. Многие модули не используют штатную модель движка для выборки товаров. А фильтры ещё часто и вообще с зашифрованной моделью. И без автора фильтра доработку по скрытию не сделать. Можно поправить модель товара в админке. И при сохранении включать товар, если у него появилась картинка, и он есть на складе. Ещё как вариант - можно отвязывать товар от магазина, пока у него нет картинки.
  11. Добрый день. Это скорее всего не модуль. Так реализовано в сборке ocStore из коробки. Вот так:
  12. Это проблема используемого шаблона, а не движка. В дефолтном шаблоне всё учтено. Вот так выводятся цены: {% if product.price %} <p class="price"> {% if not product.special %} {{ product.price }} {% else %} <span class="price-new">{{ product.special }}</span> <span class="price-old">{{ product.price }}</span> {% endif %} {% if product.tax %} <span class="price-tax">{{ text_tax }} {{ product.tax }}</span> {% endif %} </p> {% endif %} Весь вывод цены завёрнут в проверку {% if product.price %}
  13. Добрый день. Проверьте, чтобы у кнопок сохранения была указана нужная форма на странице модуля. Вот тут: Должно совпадать с формой с данными модуля на странице:
  14. Значит у вас что-то поломано. Или какой-то модификатор там делает правку. Для начала пробуйте нажать "Очистить" в модификаторах. Это уберёт все правки модификаторов. Если ссылки появятся в меню, то нужно искать какой мод их отключает. Если пункты меню так и не появились, то пробуйте восстановить из дистрибутива вашей версии два этих файла: admin/controller/common/menu.php admin/view/template/common/menu.tpl Но перед этим, желательно, сделать бэкап.
  15. Дать на него права для группы пользователя админки. Вот тут: Выставить вот эти галочки:
  16. Это уже лучше писать в тему поддержки модуля. Тут как раз в том и суть, что там полноценные товары, и это позволяет сохранить совместимость с большинством решений.
  17. Такие масштабные изменения не стоит тянуть в сборку - это потянет за собой тотальные несовместимости со всем подряд. Вам такой функционал нужен. Кому-то он не нужен, а нужен другой. Для такой реализации уже есть модуль, который позволяет сделать вид как опции, но с полноценными товарами. И у каждого варианта будет свой url, описание, метатеги, цены, акции, сидки и т.д. Т.к. это будут полноценные товары. И искать будет по артикулу нужный вариант. И при фильтрации подставляться нужный вариант с нужной ценой, если использовать фильтр из списка совместимых.
  18. Добрый день. Напишите в личку @HyperLabTeam с доступами на фтп и в админку, и приложите ссылку на товар, на котором тестируете.
  19. Конкретно такой скидки в модуле нет. И в данном механизме есть недочёты, т.к. нужно учитывать, что заказ должен быть оплаченным. Заказ потом могут отменить или сделать возврат. Если опишете подробнее, то возможно получится реализовать что-то похожее небольшими доработками. Напишите в личку @HyperLabTeam с подробностями, желательно на реальном примере.
  20. Тогда надо смотреть и разбираться. Заочно ничего не сказать. Я только предположил.
  21. Данные версии запоминают выбор последней папки в сессии. Если сессии по какой-то причине не сохраняются, то могут быть такие проблемы. Универсального ответа нет на такие вопросы, надо смотреть по месту, сохраняются ли сессии. Что в данных. И т.д.
  22. Значит модуль игнорирует штатное формирование url и лепит ссылку с http напрямую. Встречал такое в буржуйских темах.
  23. Можно реализовать вообще без дополнительных категорий. Собрать нужные товары по разделам с общими критериями.
×
×
  • 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.