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

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


     17.08.2011    дополнительные поля, хак, профиль пользователя    Все вопросы » Хаки    5357

вопрос
Здравствуйте ! Нужна Ваша помощь. Нужно чтобы инфо из доп. поля профиля юзера отображалось в main.tpl абсолютно на всех страницах, на главной в том числе. Можно это реализовать ?

Видел Sander отвечал на похожий вопрос "Вывод информации из доп.полей dle в шаблоне 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 );


Буду очень и очень благодарен !

Ответа пока нет


7 комментариев

rashpil
Эксперт

rashpil - 17 августа 2011 19:06 -

Ну вроди для доп полей профиля используются другие функции. Так что остаётся выяснить какую же функцию нужно для этого и тупо поменять их имена. В принципе, ничего сложного.

Morse
Юзер

Morse - 18 августа 2011 20:21 -

Вот если бы Вы мне подказали :) Я не очень силен в php, потому и ищу тут помощи

nowheremany
Эксперт

nowheremany - 19 августа 2011 10:27 -

Посмотри как сделано в profile.php c xfields. Самому лезть влом

Благодарность принимаю тут Связь

Morse
Юзер

Morse - 19 августа 2011 23:43 -

Цитата: nowheremany
Посмотри как сделано в profile.php c xfields. Самому лезть влом

оооой, там много очень, и в начале, и в середине, и в конце кусками, незнаю что отвечает что за что. Посмотрите пожалуйста если Вас это не утруднит и подскажите пожалуйста. Заранее благодарен !

nowheremany
Эксперт

nowheremany - 20 августа 2011 11:38 -

Вот и там и там и там. все нужно вставить майн

Благодарность принимаю тут Связь

Morse
Юзер

Morse - 21 августа 2011 01:30 -

как я понял, ответа мне не получить... recourse

pedro.tarantas
Юзер

pedro.tarantas - 2 декабря 2018 22:36 -

в engine.php примерно на 890 строке меняешь запрос на
				else $sql_news = "SELECT " . PREFIX . "_post.*," . PREFIX . "_post_extras.*," . PREFIX . "_users.xfields as uxfields FROM " . PREFIX . "_post 
				LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) 
				LEFT JOIN " . PREFIX . "_users ON (" . PREFIX . "_users.user_id=" . PREFIX . "_post_extras.user_id) 
				WHERE  id = '{$newsid}'";


в showfull меняешь
if( count($xfields) ) {

на
		if( count($xfields) ) {
			
			$uxfields = xfieldsload(true);
			$xfields = array_merge($xfields,$uxfields);
			$row['xfields'] .= (!empty($row['uxf'] AND !empty($row['xfields']))) ? '||'.$row['uxfields']:'';


я делал для showfull, соответсnвенно ты заменяй в main

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

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

наверх