Pathologic
так для этого не нужно ничего мутить в OnWebPageInit
Pathologic
в своем ajax.php создал условия и все
Pathologic
или ты типа к самой странице через ajax обращаешься?
Evgeniy
Если страница грузится ajax-ом, то один контент
Pathologic
я понял
Evgeniy
Если грузится обычно, то другой
Pathologic
тогда просто в плагине бы if (empty($modx->documentIdentifier)) return и никаких проблем (:
Evgeniy
Говорю же, у меня эта проблема возникла с каким-то публичным плагином
Pathologic
значит нужно просто туда впилить это условие и не будет проблемы
Evgeniy
А когда пришел бы другой разработчик - он бы долго репу чесал
Pathologic
у нас после каждого другой разработчик чешет репу
Pathologic
ну или думает кому бы ее начесать
Volodymyr
@Agel_Nash а подскажите, как сделать чтоб был автокомплит
моделей?
необходимо генерить ide helper ?
Evgeniy
Evgeniy
Volodymyr
SiteContent::where()
Volodymyr
а то оно не видит метод where
Evgeniy
Volodymyr
Evgeniy
Pathologic
вот я сегодня видел сниппет, в котором вызывается парсер через инклуд document.parser config.inc и protect )
Pathologic
написанный буквально неделю назад
Pathologic
вот так начинается тот сниппет
Pathologic
require_once(MODX_BASE_PATH.'_manager/includes/config.inc.php');
require_once(MODX_BASE_PATH.'_manager/includes/protect.inc.php');
define('MODX_API_MODE', true);
require_once(MODX_BASE_PATH.'_manager/includes/document.parser.class.inc.php');
$modx = new DocumentParser;
$modx->db->connect();
$modx->getSettings();
include_once(MODX_BASE_PATH.'assets/lib/MODxAPI/modResource.php');
Pathologic
Evgeniy
нашел левый плагин) https://github.com/MODXim/MODX.plugins/blob/master/ProtectCache/assets/plugins/ProtectCache/plugin.protectcache.php
Evgeniy
Возможно что-то еще сейчас найду если прокликать
Pathologic
6 лет этому плагину
Pathologic
ты бы еще сказал, что шопкипер плохо работает
Pathologic
возможно даже, что то что @webber_12 показывал вчера, кто-то под влиянием шопкипера и написал
Evgeniy
В Evo все держится на поддержке бородатых компонентов)
Evgeniy
Если они отвалятся, то отвалится половина разработчиков
Pathologic
так а кто их должен поддерживать?
Evgeniy
У кого много времени, либо у кого бизнес на evo завязан
Pathologic
все стремное переписано
Evgeniy
Максим, ну так и ajax.php был предложен тоже не вчера
Pathologic
ну вот а бизнесмены тут жалуются, что дитто плохо работает, а сами не хотят ничего делать, потому что у них 100500 сайтов и вы должны
Evgeniy
5 с половиной лет прошло с момента когда статья вышла http://modx.im/blog/triks/2103.html
Evgeniy
В общем PR принимаю. Если у кого-то где-то потом что-то будет не так работать - шлите новый PR
Aliaksandr
Я в ajax.php никогда не вызываю OnWebPageInit и вроде без последствий:) нет там страницы, нечего там и событию этому делать - так думаю:)
Pathologic
я тоже так думал когда-то
Evgeniy
Pathologic
но например тот же кэш в твиге подключается в этом событии
Evgeniy
И было бы круто знать в ajax, что за товар добавляется. А чтобы не выдумывать - юзаем стандартные средства по ID товара загружаем страницу и радуемся профиту.
Aliaksandr
Если в каком-то куске, который исполняется на аяксе нужно событие, то там его логично и вызвать, а не на весь приходящий аякс сразу
Aliaksandr
Мне кажется так логичнее
Pathologic
Pathologic
не логичнее
Pathologic
потому что у каждого события свое место (:
Aliaksandr
Логичнее, мало ли кто там в плагине на это событие чего делает, зачем мне ему левый docid подсовывать:)
Aliaksandr
Вдруг у него как раз на этот id завязан плагин удаления сайта))
Pathologic
вот я и говорю, что лучше проверять нужные переменные
Aliaksandr
Так каждого же не заставишь проверять, потому свой ajax.php контролировать проще, тем более у меня там обычно просто вызовы других классов на каждый action. Будет для этого action необходимо событие, там его и вызову, а для остальных 9 из 10 случаев, зачем оно мне
Aliaksandr
Типа отправки формы, подписки на рассылку или подгрузки блока на кнопке "показать еще"
Pathologic
ну вот как раз в случае подгрузки блока ты так оставляешь доклистер без кэширования
Pathologic
@Agel_Nash а вот это видел http://modx.im/blog/docs/5933.html ?
Aliaksandr
Я его обычно вырезаю с кэшированной страницы, хотя это и не по феншую.
Pathologic
ха-ха-ха
Aliaksandr
В общем мне кажется, что без разбору вызывать это событие в левом аякс-файле с левым id - так себе вариант. Еще неизвестно, что быстрее может сайт завалить:)
Pathologic
ну, если ты сам себе чего-то написал, то ладно
Pathologic
а в публичных компонентах нужно вызывать
Aliaksandr
Ну тогда надо там и $modx->documentIdentifier обязательно определять
Pathologic
а как ты его определишь без надобности
Evgeniy
Вот и я о том же, что в публичных компонентах все-таки желательно передавать ID той страницы. На худой конец ID главной или создаем служебный документ ajax в дереве
Aliaksandr
а как ты его определишь без надобности
Ну как и предлагается - "от балды", потому что по парсеру полагается, что к моменту события он определен и никто не заморачивается этой проверкой
Pathologic
если оно определяется от балды, то лучше проверять
Pathologic
или тогда по умолчанию писать туда id главной
Volodymyr
@Agel_Nash
ide helper я пытался ставить еще в обед но с evo он не хотел работать.
Решил поставить laravel. К нему ide helper установился на ура.
Он может как писать docBlock в саму модель, так и генерить файлик. Но нужного результата не получаю
http://joxi.ru/4AkkPDvSogLpQA
http://joxi.ru/nAydPDBHgLRzy2
метод не видет в обоих случаях, если создали файлик оно еще ругается на multiple definitions
я с таким никогда не работал, может подскажите куда копать?
Pathologic
вот этот вариант пожалуй лучше всего проблему и решает
Evgeniy
Pathologic
когда все вроде бы работает, а не работает
Aliaksandr
Всех проверять не заставишь, особенно под таким странным предлогом:) типа этот параметр есть, но я вот написал так аякс, что его может и не быть, так что вы там все проверяйте:)
Pathologic
поэтому я предлагаю в конструкторе ставить id главной страницы туда
Evgeniy
Evgeniy
ПО поводу Where. Все конфигурируется в пакете ide-helper https://github.com/barryvdh/laravel-ide-helper/blob/master/config/ide-helper.php#L39
Evgeniy
в старых версиях другие параметры за это вроде бы отвечали
Evgeniy
Volodymyr