CS Cart или через терни к черной дыре костылей и оптимизаций
Совсем недавно, я стал разработчиком модулей для CS Cart. Случилось это по воле случая: меня взяли на работу в Петербургскую сеть интернет магазинов, торгующих вейпами и всякими интересными штуками для удовлетворения потребностей физического характера страждущих пар и одиночек (кто не понял — еще не дорос ). Оба интернет магазина развернуты на двух витринах с разными доменами, но одной админкой и общей базой данных. Что же с ней не так? Думаю о CMS написано много, но я добавлю свою ложку дегтя в бочку с дегтем .
Путешествие в модуль через лес директорий
В процессе разработки первого модуля для этой платформы, я столкнулся со множеством проблем, которых, как я полагал, имея опыт работы с ООП, а также с CMS MODX Revo, быть не должно. Первое, что бросилось в глаза — это очень сложная и запутанная структура модуля:
Может показаться, что модуль имеет логичную иерархию внутри своей структуры, но, иногда, следуя по документации, случаются баги, которые не должны были появиться. Например: был у меня кейс, когда обращаясь к контроллеру через AJAX функцию, встроенную в класс CMS JS упорно не хотела работать с моим контроллером, хотя сделано всё было четко по документации. Поискав информацию и обратившись к комьюнити, состоящем, в основном из 3-4 активных завсегдатаев-разработчиков, я понял, что даже сами разработчики этой платформы не могут ответить на вопрос о том, почему их функция ведет себя некорректно.
Модуль в результате был закончен, но в обход документации, что я считаю своим упущением и продолжаю искать пути решения данной проблемы, с надеждой выпустить апдейт в соответствии с документацией.
То что мертво — труп, но потыкать палкой нужно
Второй задачей, которую поставило руководство, являлась оптимизация сайтов этого магазина. Я взялся за нее без энтузиазма, понимая, что это мертворожденное существо, и мы с коллегой путем мучений и отключения всего того зоопарка модулей, что были установлены до моего появления со словами: «А че бы нет?!» — добились улучшенных показателей Google и в LightHouse, но прироста, в 20 единиц на одном сайте и 10 на другом, было не достаточно. Тогда я полез смотреть БД более детально. Поняв, что БД у данной CMS — набор несвязанных друг с другом таблиц, я понял, что все взаимодействия с базой и связки данных проходят через PHP, что, как я считаю, неправильно. Почему сделано именно так? — всё просто: CMS создавалась в 2003-2004 годах, и в качестве движка для СУБД использовался MyISAM.
MyISAM — сам по себе, довольно медленный движок и он не рассчитан на 50 000 (!) товаров (о количестве поговорим позже). Более того связывание таблиц этом движке реализовано не так хорошо как, скажем, в том же InnoDB. Из-за этого сервер начинает очень страдать при одновременном обращении 500 — 1000 пользователей.
Теперь поговорим о количестве товаров. Откуда 50 000 спросите вы? «Потому что» — отвечу я. Дело в том, что одну из витрин отдали на SEO какому то подозрительному фрилансеру из Беларуси. Странность его суждений заключается в разнообразных уловках и ухищрениях. Например: для улучшения видимости сайта он просил коллегу создать несуществующую номенклатуру и каждый день подгружать несуществующий товар. Аргументировал он это тем, что пользователи будут искать товары из этого несуществующего списка и попадать к нам на сайт, на этот товар. Понятно, что пользователь уйдет сразу же после этого, так как товара в наличии нет и никогда не было и не будет. Сайт ни капельки не продвигается, а руководство с упорством продолжает считать мнение данного «спеца» авторитетней мнения штатного программиста и контент-менеджера.
Такое количество номенклатуры — аномально и это, в свою очередь, также подвергает оба сайта зависаниям, лагам и другим неприятным вещам.
Нужна скрепка? Плати 100 баксов
Последняя проблема, которую я освещу в данной статье — это плата за любое мелкое допиливание этого «зомби». Хочешь стандартный функционал cron в панеле админа — плати. Подключить метрику не через утиную гуску, а так, чтобы она не нагружала клиент — плати. И другие малозначимые, но иногда важные изменения — стоят денег. Ценник, как правило, начинается от 100$ за модуль. Да, разработчикам, как и мне, хочется кушац, но у меня сложилось впечатление, что CMS и её стандартные модули специально не доведены до нормального состояния. А так как структуру всех классов и методов знают только создатели данной CMS, то они и являются, по сути, монополистами на рынке, так как любой фрилансер или штатный проггер, не сможет нормально сделать модуль с первого раза, используя недописанную и костыльную документацию, что предлагается на данный момент.
Заключение
Я не верю, что ситуация с данной CMS когда нибудь изменится и мне, действительно, жаль тех, кто имея огромную номенклатурную базу сидит на ней и платит за все доделки баснословные деньги. Но хочется верить, что, хотя бы в моем магазине, я сумею побороть некоторые её недостатки.
Надеюсь, статья Вам была интересна. Я буду писать еще о своих изысканиях в этой CMS или о разработке модулей для неё.
Источник
Не работает поиск cs cart
У магазина два вида поиска — встроенный по дефолту и в виде доп модуля Searchanise. Какой из них не работает?
- CS-Cart team
- CS-Cart support team
- Moderators
- Join Date: 04-Apr 11
- 3817 posts
Спасибо за Ваше сообщение.
Данная проблема требует изучения на Вашем сервере. Пожалуйста, свяжитесь с нами через систему клиентской помощи Help Desk и предоставьте временный FTP-доступ к серверу на странице Access infromation Вашей учетной записи Help Desk, чтобы мы могли изучить проблему более детально.
—
Pavel Zyukin
CS-Cart Support team
Sincerely yours, CS-Cart Support Team
- mem
- Member
- Trial users
- Join Date: 25-Jul 12
- 19 posts
- mem
- Member
- Trial users
- Join Date: 25-Jul 12
- 19 posts
- CS-Cart team
- CS-Cart support team
- Moderators
- Join Date: 04-Apr 11
- 3817 posts
Спасибо за Ваше сообщение.
Данная возможность должна быть доступна Вам по умолчанию. На странице результатов поиска в конце списка товаров должна появится секция для осуществления постраничной навигации. Пример Вы можете увидеть в нашем демонстрационном магазине:
Если у Вас отсутствует данная секция, то нам необходимо будет изучить эту проблему на Вашем сервере, чтобы найти её причину.
—
Pavel Zyukin
CS-Cart Support team
Источник
Не работает поиск cs cart
а точно только с последней версией?
у меня проблем с поиском на 4.0.3 .. решил бесплатным аддоном от eComLabs «Улучшенный поиск» .. но при этом перестал нормально работать поиск в админке или я просто его не настроил для админки
4.4.1, 4.3.1RUS, 4.3.3.SP1free
- eComLabs
- CS-Cart Expert
- Authorized Reseller
- Join Date: 27-Jan 14
- 22247 posts
Приветствую!
Подскажите в чем может быть проблема, последняя версия движка, при включенном серчаниз в процессе написания названия товара в строке поиска интерактивный поиск от серчаниз работает, но когда жмешь поиск — выдает страницу без найденного товара, если отключить серчаниз то ваще ничего не ищет. Попытался добавить локацию «Поиск товара» создал блок «Основное содержимое» товар в поиске начал выводиться но глючно, показывает то по 4 единицы на странице то по 8 — разброс, хотя по поиску находит к примеру 5 страниц товара с заданным поиском. Где находится модуль поиска, может он глючный я попробую перезалить его? Три одинаковых магазина но первый раз такая проблема.
Мы сталкивались с таким, когда не происходила корректная синхронизация каталога с Searchanise. Например, товар в админке клиента был задизейблен, а в Searchanise все еще значился как активный. Соответственно, Searchanise просил показать данный продукт, а дефолтный поиск его уже не выдавал. Получалось, что на странице вместо 10 продуктов показывалось меньшее количество.
у меня проблем с поиском на 4.0.3 .. решил бесплатным аддоном от eComLabs «Улучшенный поиск» .. но при этом перестал нормально работать поиск в админке или я просто его не настроил для админки
GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration | UniTheme and YOUPI
CS-Cart USD 1210 Multi-Vendor USD 1250 Multi-Vendor PLUS USD 3100 (2775)
CS-Cart Ultimate USD 4025 CS-Cart + YOUPI USD 1459 Multi-Vendor Ultimate USD 7500 (6000)
Источник