Доработка фильтра товаров
Сайт на движке opencart, на сайта установлен фильтр товаров OCFilter
///* Общая информация, описание существующего алгоритма формирования урлов *///
1) Для формирования урлов отфильтрованных категорий внедрен алгоритм, который формирует путь в виде:
домен/категория_1/категория_2/Фильтр_1/Значение_1_1/Значение_1_2/.../Фильтр_2/Значение_2_1/Значение_2_2/.../Значение_2_5
2) В качестве названия фильтра и значений фильтра в УРЛ-ах используются значения "URL-Key".
"url-key" Названия Фильтра записывается вручную или генерируется, если пусто в самом модуле OCFilter
"url-key" Значений фильтра копируется из источника (Атрибутов) или генерируется, если в источнике пусто
///* Суть проблемы *///
Функция "Копирование фильтров" - она кривая. Каждый раз она ломает мне урлы. Имеет 2 косяка, которые не удалось отремонтировать даже разработчику.
1) Имеет одну важную настройку, которая работает непонятным для меня образом - "Очистить существующие фильтры OCFilter".
По задумке автора она должна целиком очищать таблицу фильтров либо только добавлять в неё новые записи. Я пробовал оба варианта и оба дают кривой результат.
2) Она должна копировать url-key Значений Атрибутов в таблицу значений фильтра, но вместо этого он рандомно то копирует их то генерирует по своему алгоритму.
///* Нужно сделать *///
Чтобы не вмешиваться в код автора и не ломать голову над его алгоритмом лучше всего сделать свою функцию копирования с нуля. Для этого предлагаю в модуле вообще не трогать существующую функцию копирования, а вместо неё создать собственную таким образом:
1) В модуле на странице "Фильтры" открываем любой из существующих там фильтров (или создаём новый через кнопку "Добавить") и там на вкладке "Основное" в самом верху добавляем параметр "Источник" в виде выпадающего списка, который будет отображать список всех существующих Атрибутов. Рядом нужно расположить кнопки "Копировать из источника" и "Создать SEO-псевдоним".
Таким образом в будущем мы не будем копировать массово все фильтры, чтобы избежать проблем, а будем работать с каждым отдельно - выбираем источник и жмём "Копировать из источника" - эта функция должна скопировать из источника Название фильтра Рус + Укр (из oc_attribute_description) и заполнить Категории (я не разобрался, откуда они заполняются, из какой таблицы). "SEO-псевдоним" копировать не нужно, поскольку в таблице Атрибутов их нету для названий Атрибутов. Его мы будем генерировать кнопкой "Создать SEO-псевдоним". Он должен создаваться из Русского названия общепринятым алгоритмом. Обязательно нужна защита от случайного нажатия - проверка и предупреждение, если поле "SEO-псевдоним" уже заполнено: "Значение уже заполнено. Перезаписать? [ДА] / ]НЕТ]".
Все остальные параметры не трогать, их мы будем устанавливать вручную (Тип, Сортировка, Статус).
2) Тут же переходим на вкладку "Значения" и добавляем кнопку "Копировать из источника". По сути она сделает тоже самое, но только для Значений фильтра - она заполнит свою таблицу из источника (из Атрибтов) - URL-Key (из oc_dae_attribute_value) + Название Рус + Название Укр (oc_dae_attribute_value_description). При этом существующие значения в таблице должны быть перезаписаны из источника, если они там есть, либо удалены, если их уже нет в источнике, а новые значения из источника - добавлены.
Если в источнике какому-то значению Атрибута не присвоено url-key, то и в фильтре оставляем это поле пустым (генерировать не нужно).
3) После этого нужно внести правку в код, который формирует урлы и задать там правило: если url-key Значения Фильтра незаполнен, то используем вместо него его же ID.
Aktualne zlecenia dla freelancerów w kategorii PHP
Szukamy specjalisty Bitrix24 / integratora CRM do ustawienia automatyzacjiNasza firma pracuje z CRM Bitrix24. Potrzebujemy specjalisty, który będzie w stanie skonfigurować automatyczne dodawanie numeru telefonu do leadów/zamówień w dwóch formatach. Automatyzacja musi być poprawnie skonfigurowana dla dwóch krajów: Republika Mołdowa i Rumunia. Zadanie:… PHP, Programowanie stron internetowych ∙ 20 godzin 55 minut temu ∙ 22 oferty |
Dodać pasek przewijania do nagłówka strony
59 PLN
https://crazybox.com.ua/uk?srsltid=AfmBOopQRUXCCmxx699n57B3eP1XmwcYxJxwPh9qV9WcVjLjS_J2pK5s oto przykład jak to u nich wygląda, trzeba zrobić na ich podobieństwo a na tym trzeba zrobić https://rollershop.com.ua/ opencart ocStore 3.0.3.7. i żeby była możliwość edytowania… PHP, Programowanie stron internetowych ∙ 1 dzień 14 godzin temu ∙ 87 ofert |
Optymalizacja stronyOptymalizacja strony jdgreta.co.uk na Shopify. Audyt SEO dołączony do projektu. Główne zadania - - Poprawić wszystkie metadane - Wykonać TZ dla programisty (ponieważ w tym projekcie połączone są zadania dla programisty i SEO, jeśli nie jesteś firmą - możesz skorzystać z… Układ HTML i CSS, PHP ∙ 1 dzień 17 godzin temu ∙ 30 ofert |
Specjalista od HoroshopPotrzebny specjalista, który będzie w stanie prawidłowo skonfigurować feed produktowy.Problem: Obecnie ponad 13 000 produktów jest eksportowanych z tym samym typem wartości (np. „wszystko do manicure i pedicure”). Z tego powodu w Google Ads nie można podzielić produktów na… PHP, Obsługa stron internetowych ∙ 2 dni 19 godzin temu ∙ 21 ofert |
Sprawić, aby e-maile o zamówieniach ze sklepu nie trafiały do spamuObecnie istnieje sklep na OpenCart, a wiadomości o zamówieniach trafiają do spamu, trzeba zrobić tak, aby trafiały do Odebrane (ukr.net gmail) sprawdzić. Hosting napisał: Zła dostawa poczty elektronicznej może być związana z niską reputacją nadawcy - IP lub domeny. W takim… PHP, Programowanie stron internetowych ∙ 3 dni 20 godzin temu ∙ 47 ofert |