Size: a a a

2021 April 22

DP

Dmitry Podlesnykh in OctoberCMS
Сделал 4 проекта на Октябре на коммерцию и прям понравился
источник

DP

Dmitry Podlesnykh in OctoberCMS
Создателям чата этого огромный респект, совершенно случайно нашёл вас и во всех 4-х проектах что-нибудь да искал тут
Создатель octoclub.ru не присутствует тут? Если да, то тоже большое спасибо за ресурс
источник

КА

Константин Аникин... in OctoberCMS
Как создавать консольные команды вот тут — https://octobercms.com/docs/console/development
источник

КА

Константин Аникин... in OctoberCMS
источник

DP

Dmitry Podlesnykh in OctoberCMS
источник

DP

Dmitry Podlesnykh in OctoberCMS
Как-то так это должно работать, не?)
источник

DP

Dmitry Podlesnykh in OctoberCMS
Ответом на сообщение, точно
источник

NK

Nikita Khaetsky in OctoberCMS
Не за что) Если есть возможность, напиши на OctoClub о своем кейсе с python импортом данных в October CMS)
источник

КА

Константин Аникин... in OctoberCMS
А что касается самого импорта, то я сначала формировал json файлик с данными, простым php-скриптом в общем-то.

А потом в консольной команде уже юзал обычный ОРМ для создания моделей в Mall и тд
источник

ST

Sergei Toroptsev in OctoberCMS
+ за oc-request
источник

Р

Ростислав in OctoberCMS
+ плюс в начале
источник

Р

Ростислав in OctoberCMS
не работает бот один хер) Она временами спит
источник

КА

Константин Аникин... in OctoberCMS
В двух словах код, чтобы понятно было:


$importItems = json_decode(file_get_contents($importFile), true);
foreach ($importItems as $row) {
   $product = Product::firstOrNew([
       'user_defined_id' => $item['user_defined_id'],
   ]);

   $product->fill($item);

   try {
       $product->save();
   } catch (\Exception $e) {
       $this->error(var_export($item) . ' -> ' . $e->getMessage());
       continue;
   }
}
источник

КА

Константин Аникин... in OctoberCMS
ну и так же создаёшь модели цен, категорий и тд, и связываешь друг с другом
источник

DP

Dmitry Podlesnykh in OctoberCMS
Я как лесной житель с топориком в виде питона — через BeautifulSoup авторизовался в админке, сохранил куки в сессию, распарсил XML в словарь, а дальше цикл — поиск места в новой структуре дерева категорий, загрузка изображений по урлам в tmp-директорию и через requests питоновский бью запросами по эндпоинтам API админки Октября для создания и апдейта объектов. Вариант для локалхоста работает достаточно быстро (для этого кейса), на удаленный сервер будет дороговато по времени так импорт делать, если только это не VDS
Могу ради интереса измерить потом время общее, тупят ребята со своим Битриксом и кастомной XML-кой на том конце провода, а сделать нужно всё до утра
источник

DP

Dmitry Podlesnykh in OctoberCMS
Проблема по которой изначально писал была связана с расширением отправляемой картинки, я сначала хотел полностью избежать сохранения изображений на диск и сразу отправлял binary
Если сохранить на диск и потом прочитать — работает, если напрямую пробросить в запрос — хер)
источник

DP

Dmitry Podlesnykh in OctoberCMS
И да, я понимаю, какое чувство ужаса может вызывать мой подход к вопросу)) Образование у меня с программированием связано только по части проектного управления, а путь самоучки пошёл чуть в обход ООП и PHP в сторону функциональщины и Ноды
источник

DP

Dmitry Podlesnykh in OctoberCMS
Поэтому сразу въехать в Laravel и работу с ним сложновато, парадигма чуть другая и мышление перестраивать приходится. А питон я вообще часто юзал на работе по части сбора и анализа данных для маркетинговых исследований, поэтому и пригодилось вот
источник

DP

Dmitry Podlesnykh in OctoberCMS
По поводу кейса — можно это, конечно, оформить во что-то более удобоваримое, чем сообщение в чате
Если это кому-то нужно
источник

NK

Nikita Khaetsky in OctoberCMS
На будущее советую изучить написаний своих плагинов или своих алгоритмов на PHP, в особенности Laravel / October CMS. На OctoClub есть инструкции как писать свой плагин. Как напишешь, смело открываешь документацию и через copy-paste вставляешь рабочий код.

Твою задачу можно достаточно легко решить встроенными инструментами PHP / Laravel. То-есть даже никаких пактов не надо было качать. Возможно даже легче получилось-бы)

В любом случае - красавчик что довел задачу до конца!)
источник