Проверка addPackage

Добрый день,
Помогите разобраться, пожалуйста, как корректно подключать addPackage, сколько раз и как узнать, что пакет добавлен?


Допустим у меня товары в отдельной таблице с классом и таблицей- myShopGoods.

Чтобы получить к ним доступ в плагине на событие — страница не найдена, я делаю addPackage(myShopGoods) и ищу урл в товара в таблице товаров, если есть, создаю объект/ресурс — товар со всеми полями.

Дальше на странице товара я начинаю вызывать снипеты, которые должны получать данные по смежных товаров из той же таблицы myShopGoods.
Должен ли я в этом случае заново запускать метод addPackage(myShopGoods)? Или как проверить, что myShopGoods уже подгружен?

Что происходит, когда я заново загружаю этот метод? Удаляется ли созданный объект/ресурс или нет?
У меня ощущение, что удаляется т.к. при попытке получить id я получаю id родителя, а не товара((

Простите за нубские вопросы((
Николай
27 апреля 2017, 07:08
1
198
0

Комментарии: 3

Сергей Шлоков
27 апреля 2017, 17:30
+1
Если этот пакет нужен постоянно, то лучше указать его в системной настройке extension_packages. Тогда он будет самостоятельно загружаться всегда.

Для справки. Проверить загружен ли пакет можно по условию
if (isset($modx->packages('имя_пакета'))) ...
// или 
if (class_exists('имя_класса_из_пакета')) ...

Что происходит, когда я заново загружаю этот метод?
addPackage метод умный — он не будет загружать пакет, если он уже загружен.
    Николай
    27 апреля 2017, 18:28
    0
    Супер! Спасибо!
    Николай
    29 апреля 2017, 16:58
    0
    if (isset($modx->packages('имя_пакета')))
    не удалось заставить эту конструкцию работать и в доках нигде нет описания((
    Ну да ладно.