Проверка addPackage
Добрый день,
Помогите разобраться, пожалуйста, как корректно подключать addPackage, сколько раз и как узнать, что пакет добавлен?
Допустим у меня товары в отдельной таблице с классом и таблицей- myShopGoods.
Чтобы получить к ним доступ в плагине на событие — страница не найдена, я делаю addPackage(myShopGoods) и ищу урл в товара в таблице товаров, если есть, создаю объект/ресурс — товар со всеми полями.
Дальше на странице товара я начинаю вызывать снипеты, которые должны получать данные по смежных товаров из той же таблицы myShopGoods.
Должен ли я в этом случае заново запускать метод addPackage(myShopGoods)? Или как проверить, что myShopGoods уже подгружен?
Что происходит, когда я заново загружаю этот метод? Удаляется ли созданный объект/ресурс или нет?
У меня ощущение, что удаляется т.к. при попытке получить id я получаю id родителя, а не товара((
Простите за нубские вопросы((
Помогите разобраться, пожалуйста, как корректно подключать addPackage, сколько раз и как узнать, что пакет добавлен?
Допустим у меня товары в отдельной таблице с классом и таблицей- myShopGoods.
Чтобы получить к ним доступ в плагине на событие — страница не найдена, я делаю addPackage(myShopGoods) и ищу урл в товара в таблице товаров, если есть, создаю объект/ресурс — товар со всеми полями.
Дальше на странице товара я начинаю вызывать снипеты, которые должны получать данные по смежных товаров из той же таблицы myShopGoods.
Должен ли я в этом случае заново запускать метод addPackage(myShopGoods)? Или как проверить, что myShopGoods уже подгружен?
Что происходит, когда я заново загружаю этот метод? Удаляется ли созданный объект/ресурс или нет?
У меня ощущение, что удаляется т.к. при попытке получить id я получаю id родителя, а не товара((
Простите за нубские вопросы((
Комментарии: 3
Если этот пакет нужен постоянно, то лучше указать его в системной настройке extension_packages. Тогда он будет самостоятельно загружаться всегда.
Для справки. Проверить загружен ли пакет можно по условию
Для справки. Проверить загружен ли пакет можно по условию
if (isset($modx->packages('имя_пакета'))) ...
// или
if (class_exists('имя_класса_из_пакета')) ...
Что происходит, когда я заново загружаю этот метод?addPackage метод умный — он не будет загружать пакет, если он уже загружен.
Супер! Спасибо!
if (isset($modx->packages('имя_пакета')))
не удалось заставить эту конструкцию работать и в доках нигде нет описания((Ну да ладно.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.