пятница, 28 сентября 2012 г.
Совет по отладке плагинов (extension) для Typo3
Думаю, что многие ковырялись в тайповских плагинах и задумывались над тем, как хорошо бы пройтись по нему отладчиком, чтобы лучше понять, что к чему.
Одним из способов отладки, как известно со времен египетских пирамид, является отладочная печать.
Для тех, кто не очень хорошо знаком с PHP, приведу несколько строк кода, которые помогают при "разборе полетов", а точнее - выводят в текстовый файл все переменные PHP и их значения.
Вот эти строки:
ob_start();Смело вставляйте эти строки в любое место php-файлов Typo3-плагина и вы увидите полную картину всего происходящего в данной точке.
var_dump(get_defined_vars());
$all_vars = ob_get_clean();
// Тут дан абсолютный путь к файлу vars.txt
$f = fopen("/var/www/client1/web/fileadmin/debug/vars.txt", "w");
fwrite($f, $all_vars);
fclose($f);
среда, 25 июля 2012 г.
Управление списком записей в режиме New record
Что-то давненько я ничего не писал...
Задался на днях целью забрать у пользователя возможность вводить некоторые типы записей контента. Т.е. речь идет о сокращении записей в списке:
Задался на днях целью забрать у пользователя возможность вводить некоторые типы записей контента. Т.е. речь идет о сокращении записей в списке:
Так вот, все очень просто. За каждой такой записью стоит какая-то таблица из БД. Строке News соответствует таблица tt_news, News category - tt_news_cat и т.д. Узнав имя такой таблицы направляемся в свойства нужной нам страницы (на которой нужно заблокировать ввод) и открываем закладку Ресурсы (Resources). В разделе Page TSConfig вводим примерно такие строки:
mod.web_list {
deniedNewTables = tx_fitness_workout_equipment,tx_fitness_workout_bodypart,tx_fitness_fav_activity,tx_fitness_activitylog
}
После чего из списка пропадают строки, которые позволяли вводить контент в наши таблицы с помощью админки.
Теперь несколько другая техника.
Допустим, в системную папку можно вводить только Typo3 шаблоны и Backend layouts, а все остальное нужно запретить. Тогда в Page TSConfig папки нужно вписать следующее:
mod {
web_list {
allowedNewTables := addToList(sys_template,backend_layout)
}
}
sys_template и backend_layout это таблицы в которых хранятся соответствующие записи.
Теперь список доступных записей такой:
суббота, 18 февраля 2012 г.
Включаем и выключаем deprecation log
Надеюсь многие знают или по крайней мере видели, что в директории typo3conf, в которой находятся главные настройки Typo3 (localconf.php), лежат файлы типа deprecation_8935860f39.log
Для тех кто еще не в курсе, скажу, что в данном файле содержится информация об устаревших конструкциях typoscript и методах расширений (плагинов). Таким образом deprecation.log предупреждает нас о том, что и когда перестанет работать в последующих версиях Typo3 и дает возможность заранее подстелить соломки, чтобы потом нам было не так больно. Кроме того, здесь мы можем получить полезную информацию и о том, чем можно заменить устаревшие методы.
Загляните в такой файл и вы увидите, что-то вроде:
11-03-11 09:11: Using gpvar in TypoScript getText is deprecated since TYPO3 4.3 - Use gp instead of gpvar.
03-01-12 12:56: Usage of $ICON_TYPES is deprecated since 4.4. The extTables.php entry $ICON_TYPES['quick_shop'] = '../typo3conf/ext/quick_shop/ext_icon.gif'; should be replaced with t3lib_SpriteManager::addTcaTypeIcon('pages', 'contains-quick_shop', '../typo3conf/ext/quick_shop/ext_icon.gif'); instead.
20-01-12 23:03: TCA contains a deprecated definition using "newRecordLinkPosition"
Как видно, это обычный текстовый файл. Удаление этого файла к фатальным последствиям не приводит. Поэтому, как только deprecation.log стал довольно объемным его можно смело удалять. Но как сделать так, чтобы отключить логирование устаревших методов в Typo3?
Все очень просто! Идем в файл typo3conf\localconf.php и добавляем такую строку:
$TYPO3_CONF_VARS['SYS']['enableDeprecationLog'] = '0';
Если логирование нужно будет включить вновь - просто замените '0' на '1'.
P.S. Не забывайте почистить кеш системы, путем удаления файлов temp_CACHED_*.php в директории typo3conf.
Подписаться на:
Сообщения (Atom)
О себе
- Вадим Гиркало
- Фрилансер, веб-разработчик сайтов на базе бесплатной, мощнейшей и очень гибкой CMS системы - TYPO3.
Мой сайт
Позвонить мне в Skype
TOP - 3
-
Как я уже писал в одной своей заметке ( SEO и общие рекомендации ), для сайта очень важно, чтобы при обращении к заведомо несуществующей ст...
-
Дорабатывая очередной свой сайт столкнулся с такой проблемкой. В шапке сайта есть две флэш вставки - банер, который вставлен через конструкц...
-
Несмотря на то, что материала по данной тематике вроде бы и достаточно, но весь он носит кусочно-латочно-разрозненный характер, что мешает б...


