есть 2 страницы одна простая, вторая для ajax, а содержимое у них одно и тоже (ну в этом содержимом кое что меняется), это содержимое генерируется в сниппете. Хотя я эту проблему решил немного по другому (я бы сказал более правильнее) у меня теперь одна страница, а ajax это или нет, решается в зависимости от параметра GET, естественно содержимое теперь генерируется на самой странице, а не в сниппете. Еще такое, если сниппета или чего то еще нет, то просто выводится текст сниппета, так вот было бы неплохо добавить параметр на время отладки, что бы в случае отсутствия сниппета происходило die.
я же показал, как из пхп отрисовать сниппет. ты можешь держать код в сниппете и для обоих случаев использовать PHP: PinPIE::parseString("[[$snippet]]"); А смысл какой в этом? Для отладки есть вот: http://pinpie.ru/ru/manual/methods#report лучше всего с xDebug или с иным способом раскрашеным выводом переменных.
Как включить дебаг для вас, но не включать дебаг для них? В конфиге можно делать типа того: PHP: if (!empty($_SERVER['REMOTE_ADDR']) AND in_array($_SERVER['REMOTE_ADDR'], ['192.168.1.1'])) { $debug = true; } И подставить свой ip. Тогда вам всегда будет дебаг включен. В других местах можно писать Код (Text): if (CFG::$debug) { var_dump(... ну или там что-то ещё, и тогда только вы будете видеть это.
@VLK Я поразмыслил над твоей просьбой грохать содержимое плейсхолдера. И я боюсь это приведёт к непрогнозируемому поведению движка. Т.е. вроде у тебя есть плейсхолдер, есть запись в него, но ничего не выводится потому, что где-то когда-то оно очищается. Я бы не хотел такого. Основные плюсы PinPIE как раз прогнозируемость и однозначность. --- Добавлено --- ещё можно сделать функцию PHP: function vd ($var) { if (CFG::$debug) { var_dump ($var); } } И тогда её можно вставлять в коде во всякие места и при включении дебага будет выводиться. А при выключении - не будет. Удобно.
еще такой вопрос возник, наверное он странный, но все же, зачем разделять чанки и сниппеты? можно сказать они работают одинаково, только одно обрабатывается интерпретатором, а другое нет, но если мне допустим не надо РНР выполнять, то я могу в сниппете просто написать: Код (Text): <div>some html</div> без всякого РНР, все тоже самое, в чем прикол?
для гарантии того, что чанк никогда-никогда не будет неявно выполнен. Только если ты сам его в ивал загонишь. Так что чанки существуют отдельно для того, чтобы там жил текст. Поэтому они и не кешируются, кстати. Им - не нужно. --- Добавлено --- Ну и скорость прилепает, опять же.
Если я исчезну вдруг, то имейте в виду, что я пинпай на ооп переписал и он клёвый http://github.com/pinpie/pinpie И в composer залил, но там не последняя версия. Код (Text): composer require pinpie/pinpie Но версия девелоперская. И доку апдейтнул http://pinpie.ru
Поставьте звёздочек плс https://github.com/pinpie/pinpie Я напыжился и привёл доку в соответствии с изменениями. А они весьма интересные. Я опишу при случае. Как минимум теперь конфиг вообще не обязателен, и код покрыт тестами в основных местах. Версия пока девелоперская, в композере надо это указать. Но скачать можно и сейчас если кому интересно https://github.com/pinpie/pinpie/archive/dev.zip установка http://pinpie.ru/ru/manual/start
такая вопрос, а как пользоваться конфигом? я пытался обращаться в нужных мне местах через PHP: PinPIE::$conf но мне писало что нет такого свойства, пытался еще вот так (на всякий случай): PHP: global $conf; результат примерно такая же. файл с конфигом я создавал (по адресу сайта), туда по разному всякое вписывал не помогает. --- Добавлено --- и еще страница "скачать" в РУ разделе показывает 404
1. При открытии http://pinpie.ru/ru/download ничего толкового на странице не отображается, страница похожа на битую 2. На странице http://pinpie.ru/ru/manual/config имена файлов повторяются в предложении При отрисовке каждой страницы PinPIE попытается подключить два файла, если они существуют: /preinclude.php и /preinclude.php.
Поправил ссылку и доку. Залил доку (исходники сайта) на гитхаб тоже. https://github.com/pinpie/docs может послужить примером
эммм.. как обычно странно предложение от миня. бывает такая штука когда хочется код разбить на части (на файлы), как вариант я создаю папку в ней у меня файл index.php и допустим 2 файла с html типа все ок и не все ок, допустим html_success.php и html_fail.php, но фигня будет если кто то решит перейти непосредственно на /html_success или /html_fail может нужно забабахать какой то контроллер?
PinPIE это не замена PHP, а удобное дополнение =) Да, конечно, если ты просто положишь рядом две странички - так оно и будет. Нужно проверять в коде страницы, что показывать, и либо вынести код в снипеты/чанки, либо ещё куда в другую папку. Сниппеты и чанки в принципе для того и задуманы, чтобы решать такую задачу, как у тебя. Встречный вопрос, а как это делается в других движках?
там MVC. ну во первых эти файлы должны возвращать какие то значения или внутри этих файлов должно присваивать какое то значение переменным из других, а снипеты/чанки расчитаны на ECHO. ну я сейчас так и делаю, но хотелось бы в одной папке все держать. хотя хз как это можно прикрутить, я создал в index.php переменную и в файле проверял определена она или нет, если нет.. я вот такого толка ф-цию сделал: PHP: controller(isset($page_index), $go_to);
не знаю к сожалению, почему это оказалось трудной задачей. У меня такого же рода задача не вызывает диссонанса при реализации на сниппетах или ещё как. Или даже в одном файле держать оба случая. Хз. Не знаю, плохо это или хорошо.