Проверка addPackage Новый


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


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

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

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

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

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

Комментарии (3)

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

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

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