Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Вывод информации из доп.полей dle в шаблоне main.tpl

Вывод информации из доп.полей dle в шаблоне main.tpl


     04.08.2011    дополнительные поля, хак    Все вопросы » Хаки    12436

вопрос
День добрый. Возникла проблема с этим хаком. То есть он прекрасно работает, но только в единственном экземпляре.
Попытка добавить второе такое поле ни к чему не привели, вот код хака:

Открыть 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. Попытки ни к чему не привели.
Помогите пожалуйста.

Ответил: Sander


В index.php
После:
$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, создавайте поля ТОЛЬКО через админку!!!

23 комментария

ПафНутиЙ
Админ

ПафНутиЙ - 4 августа 2011 22:00 -

А что мешает добавить доп поля через админку?

Каков вопрос - таков и ответ. Просто помните об этом.

tom-m15
Юзер

tom-m15 - 5 августа 2011 00:20 -

Не совсем понимаю.
Этот хак позволяет использовать {linck_footer} для одного дополнительного поля.
Но он не позволяет использовать стандартный тег [xfvalue_х] в других css блоках.

tom-m15
Юзер

tom-m15 - 5 августа 2011 00:23 -

Пример сделанного:
http://img.gameru.net/img/80e44.jpg

Блок с цифрами 111 как раз использует {linck_footer}

Sander
PHP-developer

Sander - 5 августа 2011 01:04 -

Н-да... ну и колхоз же написан...
Чуть позже дам правильный и короткий ответ

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

tom-m15
Юзер

tom-m15 - 5 августа 2011 02:14 -

Попробовал, выдает:

Parse error: syntax error, unexpected '&', expecting '(' in Z:\home\plerest2.ru\www\index.php on line 48

recourse

Sander
PHP-developer

Sander - 5 августа 2011 02:16 -

О да, парсер постарался, а я не проверил...

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

tom-m15
Юзер

tom-m15 - 5 августа 2011 13:31 -

Sander,
Каемся, молимся и ждем.

Sander
PHP-developer

Sander - 5 августа 2011 14:38 -

Готово, исправил.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

tom-m15
Юзер

tom-m15 - 5 августа 2011 15:15 -

Sander,
Наверно это я криворукий.
Испробовал на локальной машине (чистая версия dle) и на хостинге.
На главной, как и должно он показывает тег, но в новости он пропадает не выводя ничего.


Может быть дело в версии движка? У меня стоит 9.2

ПафНутиЙ
Админ

ПафНутиЙ - 5 августа 2011 15:22 -

В следующий раз публикуйте картинками а не ссылками, а то лень открывать в новом окошке smile

Каков вопрос - таков и ответ. Просто помните об этом.

tom-m15
Юзер

tom-m15 - 5 августа 2011 15:23 -

Благодарю за полноценный редактор.
Картинку исправил, извините.

ПафНутиЙ
Админ

ПафНутиЙ - 5 августа 2011 15:30 -

Наздоровье.
Ничего страшного, все мы люди, ошибаемся.... главное вопремя исправится wink

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
PHP-developer

Sander - 5 августа 2011 16:50 -

Еще раз немного подправил код.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

tom-m15
Юзер

tom-m15 - 5 августа 2011 16:54 -

На локальном сервере:
Parse error: syntax error, unexpected ';' in Z:\home\plerest2.ru\www\index.php on line 55

На хостинге простой белый экран без всего.


Sander
PHP-developer

Sander - 5 августа 2011 18:15 -

Бог троицу любит ))
Третья правка сделана

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

tom-m15
Юзер

tom-m15 - 5 августа 2011 18:21 -

Спасибо тебе огромное за потраченное время и труд.
Проверил, все работает.

Жаль у вас нет кошелька, скинул бы за труды, хоть организую несколько ссылок с других сайтов.

Hronos
Юзер

Hronos - 22 октября 2011 12:15 -

Здравствуйте, поставил на тестовый сайт почемуто не работает.
Пример
garpis.ru.purple.intobservatory.ru/1-post1.html
Помогите пожалуйста.

mavne215
Юзер

mavne215 - 16 августа 2012 11:44 -

ne rabotaet etat hack

kak nado vivesti dopnitelnie polia takim obrazom ? [xfvalue_х]

vidna tolka taki


Gomer1705
Юзер

Gomer1705 - 2 сентября 2012 10:39 -

Попробовал, тоже не получилось.

Gomer1705
Юзер

Gomer1705 - 2 сентября 2012 10:40 -

Движок DLE 9.6

Gomer1705
Юзер

Gomer1705 - 6 сентября 2012 20:40 -

уточняю, работает только в категориях, необходимо, чтобы работало и на fullstory.

mavne215
Юзер

mavne215 - 9 сентября 2012 11:43 -

никто не может помочь ?

WebMen
Юзер

WebMen - 19 июля 2017 14:29 -

А рабочая версия есть для 11.3? А то не работает

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх