Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как сделать подпись автора под материалом?

Как сделать подпись автора под материалом?


     29.05.2015    Все вопросы » Шаблоны (TPL)    1447

вопрос
Как сделать подпись автора под материалом?
Вывести подпись, которую заполнили при регистрации в профиле.
В моём случае, есть блогеры, которые могут оставлять свои материалы в своих категориях. Подписи будут использоваться для контактной информации с блогером.
Спасибо!

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


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

FastFud
Юзер

FastFud - 29 мая 2015 22:47 -

Попробуйте так(для полной новости)
Открыть фай /engine/engine.php и найти
// ################ Новость целиком #################
чуть ниже найти
else $sql_news = "SELECT * FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE  id = '{$newsid}'";
заменить на
else $sql_news = "SELECT p.*, e.*, u.signature FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) LEFT JOIN " . PREFIX . "_users u ON (p.autor=u.name) WHERE p.id='{$newsid}'";
далее, откройте /engine/modules/show.full.php и найдите
$tpl->set( '{login}', $row['autor'] );
после этой строки, добавьте
$tpl->set( '{signature}', $row['signature'] );
В шаблоне использовать тег {signature}

matro-skin
Юзер

matro-skin - 29 мая 2015 23:12 -


matro-skin
Юзер

matro-skin - 29 мая 2015 23:19 -

А если нет у автора подписи?
Как скрыть поле?

FastFud
Юзер

FastFud - 29 мая 2015 23:27 -

Вместо
$tpl->set( '{signature}', $row['signature'] );
вставьте
if( $row['signature'] ) {
    $tpl->set( '[signature]', "" );
    $tpl->set( '[/signature]', "" );
    $tpl->set( '{signature}', $row['signature'] );
    $tpl->set_block( "'\\[not-signature\\](.*?)\\[/not-signature\\]'si", "" );    
} else {
    $tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
    $tpl->set( '{signature}', "" );
    $tpl->set( '[not-signature]', "" );
    $tpl->set( '[/not-signature]', "" );
}
В шаблоне использовать
[signature]{signature}[/signature]
[not-signature]Подписи нет[/not-signature]

matro-skin
Юзер

matro-skin - 29 мая 2015 23:55 -

Вывод "подписи нет" не вариант. Убрать бы поле полностью.

FastFud
Юзер

FastFud - 30 мая 2015 09:38 -

[signature]<div classs="myblock">{signature}</div>[/signature](Если подпись есть, на сайте появится подпись)
[not-signature]Подписи нет[/not-signature](данные теги не обязательны)

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

ПафНутиЙ - 29 мая 2015 23:35 -

https://github.com/dle-modules/userbox без правок движка.

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

matro-skin
Юзер

matro-skin - 29 мая 2015 23:47 -

В описании:
В нужном месте любого шаблона сайта прописать:

{include file="engine/modules/userbox.php?&userName=login"}

где login - логин пользователя.
Но, я использую один шаблон для всех блогеров. Тогда как?

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

ПафНутиЙ - 30 мая 2015 00:34 -

{include file="engine/modules/userbox.php?&userName={login}"}

http://dle-news.ru/extras/online/all17.html
{login}
Выводит логин пользователя добавившего новость в виде обычной текстовой информации без ссылок на профиль и карточку пользователя.

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

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

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

наверх