вопрос
День добрый. Возникла проблема с этим хаком. То есть он прекрасно работает, но только в единственном экземпляре.
Попытка добавить второе такое поле ни к чему не привели, вот код хака:
Пробывал создавать копию с заменой linck_chest, linck_footer на linck_chest2, linck_footer2. Попытки ни к чему не привели.
Помогите пожалуйста.
Попытка добавить второе такое поле ни к чему не привели, вот код хака:
Открыть xfields.txt
В самое начало файла добавляем (Если на первой строке что-то есть, сдвигайте все на вторую и на первую вставляйте):
linck_chest|ЧТо-то-там||text||1
---
Открыть modules/show.full.php
Найти:
$metatags['header_title'] = $row['metatitle'];
После добавить:
$full_separator = $row['xfields'];
---
Открыть index.php
Найти:
$tpl->load_template('main.tpl');
После добавить:
if ($full_separator and $subaction == 'showfull') {
$rek_separor = explode('|', reset(explode('||', $full_separator)));
if (isset($rek_separor['0'], $rek_separor['1']) and $rek_separor['0'] ==
'linck_chest') {
$tpl->set('{linck_footer}', $rek_separor['1']);
} else {
$tpl->set('{linck_footer}', '');
}
} else {
$tpl->set('{linck_footer}', '');
}
В нужном месте в main.tpl добавить {linck_footer}, при добавление новости будет доп.поле "ЧТо-то-там" туда и вписываете что надо, видите на сайте.
Пробывал создавать копию с заменой linck_chest, linck_footer на linck_chest2, linck_footer2. Попытки ни к чему не привели.
Помогите пожалуйста.
В index.php
После:
Вставить:
Теперь в main.tpl работает полная поддержка всех доп.полей.
И прошу, не лезьте в файл xfields.txt, создавайте поля ТОЛЬКО через админку!!!
После:
$tpl->load_template ( 'main.tpl' );
Вставить:
if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false AND !empty($xfieldsdata) AND !empty($xfields)) {
foreach ( $xfields as $value ) {
$preg_safe_name = preg_quote( $value[0], "'" );
if( empty( $xfieldsdata[$value[0]] ) ) $tpl->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template );
else $tpl->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "\\1", $tpl->copy_template );
$tpl->copy_template = str_replace( "[xfvalue_{$preg_safe_name}]", stripslashes( $xfieldsdata[$value[0]] ), $tpl->copy_template );
}
}else $tpl->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template );
Теперь в main.tpl работает полная поддержка всех доп.полей.
И прошу, не лезьте в файл xfields.txt, создавайте поля ТОЛЬКО через админку!!!