Экспорт объектов из класса вопроса

У меня есть экспорт продукта, и я пытаюсь экспортировать все объекты, используя мои собственные плагины. Я использую метод ниже, чтобы загрузить все объекты

        $list = new Pimcore_Model_Object_Bodproduct();
$list->setOrder ( "ASC" );
$list->setOrderKey ( "o_id" );

// Load all filtered objects - products
$list->load ();

Затем я использую цикл foreach для доступа к объектам.

Работает нормально. Но проблема в том, что экспорт занимает много времени. Есть ли другие решения для этого .. Я имею в виду вместо load() функция, есть ли другой метод доступен?

2

Решение

Ты можешь использовать $list->loadIdList() извлекать только идентификаторы объектов — что должно быть быстрее. Тогда вы можете позвонить Object::getById($id) в цикле, чтобы обеспечить индикатор выполнения (при условии, что ваш скрипт запущен в консоли).

На самом деле это то, что load() делает внутренне, пожалуйста, смотрите Объект \ Листинг \ Ресурсный класс

Другой вариант — разделить загрузку на множество «страниц», вызвав $list->getItems($offset, $itemCountPerPage),

2

Другие решения

В списке объектов Pimcore вы можете траверс каждый объект в списке без вызова load метод. В вашем случае просто удалите "$list->load ();" и увидеть, что это будет работать с меньшим количеством времени

0

По вопросам рекламы [email protected]