Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Ошибка возникает, если чанк не упаковался. Соответственно он не создался при обновлении. Это видно из ошибки
Error saving vehicle object of class modSnippet; criteria: Array(
[name] =>
)
Можно самостоятельно его создать из /core/components/minishop2/elements/chunks.
Ошибка при упаковке может возникнуть из-за наличия в чанке русских символов.
По вопросу сохранения изменений…
Не знаю почему, но авторы MODX сделали проверку изменений только у ресурсов, за которую отвечает системный параметр confirm_navigation (Подтверждать переход с несохраненными изменениями). А у элементов почему-то решили не делать. Я добавил такую проверку и также завязал ее на настройку confirm_navigation. Все это в новой версии.
хотелось бы что бы она при создании нового чанка или сниппета, в качестве имени брала текст из выделения
Так и было в первой версии. Поломалось в процессе. Исправлю в следующей версии. Причем сейчас можно выделить даже сложный тег целиком, например такой [[!mySnippet? &param=`1`]]. В новом окне имя сниппета будет указано правильное (mySnippet).
Была мысль создавать сниппет сразу с уже указанными параметрами, но я не знаю как это сделать без глобальных доработок. Оставил на будущее.
И второй момент, при полном переходе к созданию нового чанка или сниппета, если забыл сохранить шаблон в котором работал, все изменения умрут, было бы логичнее сначала сохранять объект из которого будет осуществлён переход.
Ну так работает стандартный механизм MODX. Попробуйте при создании любого элемента кликнуть на ресурс или другой элемент. Перейдет не предупреждая, без сохранения.
В принципе, можно подумать о хуке предупреждения, но тут есть сложности — вы можете наоткрывать кучу окон с чанками и сниппетами. Тогда при переходе их тоже нужно сохранять.
Вопрос: Планируется ли научить его понимать Феномовский синтаксис? Чанки: {include 'chunk'}, {insert 'chunk'}, getChunk('chunk'), и сниппеты: runSnippet('snippet')?
Это же не парсер. Для того, чтобы открыть сниппет, выделите слово snippet в вашем выражении runSnippet('snippet') и нажмите Ctrl+Enter. Чтобы открыть чанк, нужно добавить знак доллара в перед именем chunk в {include 'chunk'}. Главное, потом не забыть его убрать.
Если будете совмещать это с modDevTools
Почему все просят об этом меня. У меня нет ни времени ни желания разбираться с modDevTools. Я им не пользуюсь. Просите автора. Или сами попробуйте совместить, все исходники открыты.