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

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


     29.05.2015    Шаблоны (TPL)    1103

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

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


Комментарии пользователей (9)

FastFud
50

1599 | 588

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
24

matro-skin - 29 мая 2015 23:12 - Юзер


matro-skin
24

matro-skin - 29 мая 2015 23:19 - Юзер

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

FastFud
50

1599 | 588

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
24

matro-skin - 29 мая 2015 23:55 - Юзер

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

FastFud
50

1599 | 588

FastFud - 30 мая 2015 09:38 - Юзер

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

matro-skin
24

matro-skin - 29 мая 2015 23:47 - Юзер

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

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

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

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

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

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