форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Вы наверняка не раз замечали, что редактировать шаблоны в крошечном textarea браузера не так удобно как в редакторе с подсветкой кода, автокомплитом и прочими прелестями.
Собственно я для того чтоб облегчить себе жизнь решил немного подхачить textpattern 4.0.4 и добился того чтоб шаблоны первым делом искались в файлах а уж потом в базе (как для плагинов).
Нужно внести изменения в 2 файла (новый код между комментариями вида // flat file template ----)
\textpattern\lib\txplib_misc.php : line 1322
// -------------------------------------------------------------- function fetch_form($name) { static $forms = array(); if (isset($forms[$name])) $f = $forms[$name]; else { // flat file template ------------------------------------------------------------- global $plugin_cache_dir; $filepath = build_file_path($plugin_cache_dir, "forms\\{$name}.txp"); if (file_exists($filepath)) { $f = file_get_contents($filepath); $forms[$name] = $f; return $f; } // flat file template ------------------------------------------------------------- $row = safe_row('Form', 'txp_form',"name='".doSlash($name)."'"); if (!$row) { trigger_error(gTxt('form_not_found').': '.$name); return; } $f = $row['Form']; $forms[$name] = $f; } trace_add('['.gTxt('form').': '.$name.']'); return $f; }
\textpattern\publish.php : line 431
// ------------------------------------------------------------- function textpattern() { global $pretext,$microstart,$prefs,$qcount,$qtime,$production_status,$txptrace,$siteurl,$has_article_tag; $has_article_tag = false; callback_event('textpattern'); if ($pretext['status'] == '404') txp_die(gTxt('404_not_found'), '404'); // flat file template ------------------------------------------------------------- global $plugin_cache_dir; $filepath = build_file_path($plugin_cache_dir, "pages\\{$pretext['page']}.txp"); if (file_exists($filepath)) $html = file_get_contents($filepath); else // flat file template ------------------------------------------------------------- $html = safe_field('user_html','txp_page',"name='".doSlash($pretext['page'])."'"); if (!$html) txp_die(gTxt('unknown_section'), '404'); // useful for clean urls with error-handlers txp_status_header('200 OK'); ...
Вроде удобнее редактировать стало.
upd: забыл совсем. файлы шаблонов с расширением .txp нужно держать в папках pages и forms в директории на которую указывает настрока Plugin cache directory path: (http://example.com/textpattern/index.ph … nced_prefs)
Например у меня это b:\local\newsite\files и значит файл с шаблоном страницы лежит тут: b:\local\newsite\files\pages\default.txp
Отредактированно Nicck (22-05-2007 01:26:40)
Неактивен
Попробовал - РАБОТАЕТ!
Nicck, МЕГАСПАСИБО
Сбылась многовековая мечта многострадального нар... тьху ты, то есть щщастье есть, верстак - радуйся
Единственное (небольшое) неудобство - перед тем, как создать page на диске, нужно создать ее "однофамильца" в админке
Производительность верстки ОЧЕНЬ повысилась.
Отредактированно marazmus (22-05-2007 20:12:21)
Неактивен