Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Переменная в шаблоне {news_author}

Супер пользователь
Сообщений: 420
Здравствуйте!
Подскажите,можно ли мне сделать так,что бы эта переменная была кликабельна,то есть,что бы была ссылкой на профиль пользователя??
Скрин:
Супер пользователь
Сообщений: 171
Amney:

что бы эта переменная была кликабельна


А почему нет. Здесь ведь Amney кликабелен. Посмотрите как на форуме сделано {post.author} и сделайте так же в новостях {news.author}
Супер пользователь
Сообщений: 420
MEN:
осмотрите как на форуме сделано {post.author} и сделайте так же в новостях {news.author}

Пробовал,в шаблоне новости он не понимает эти переменные.
Супер пользователь
Сообщений: 171
Amney:

Пробовал,в шаблоне новости он не понимает эти переменные.

Так не в шаблоне, а в модуле. Шаблон выдаёт то, что даёт ему модуль.
Супер пользователь
Сообщений: 420
MEN:
а в модуле

То есть здесь /modules/news/index.php??
Супер пользователь
Сообщений: 171
попробуйте строка 173
$vars['author'] = SafeDB($news['author'],255,str);
замените на
$user_id = SafeDB($users['users_id'], 11, int);
$vars['author'] = '<a href="'.Ufu("index.php?name=user&op=userinfo&user=$user_id", 'user/{user}/info/').'">'.$news['author'].'</a>';
Супер пользователь
Сообщений: 420
MEN:
попробуйте строка 173
$vars['author'] = SafeDB($news['author'],255,str);
замените на
$user_id = SafeDB($users['users_id'], 11, int);
$vars['author'] = '<a href="'.Ufu("index.php?name=user&op=userinfo&user=$user_id", 'user/{user}/info/').'">'.$news['author'].'</a>';

Ага,кажется,то,что нужно.
Только вот еще небольшая проблемка.
Ссылка на меня,то есть на админа получилась вот такой http://scary-movies.net/user/0/info/
то есть,с 0 вместо 1,как исправить
Уж извини,если это мега нубский вопрос)
Разработчик
Сообщений: 605
Изменением шаблона тут не сделать. Туда прокинут только ник автора-создателя новости, а другим переменным там (тем же от форума, которые прокидывает модуль форум в свои шаблоны и независит от модуля новостей) делать нечего.

Но и мифическими заменами строк (тупо выдернутых из модуля форума?) тут ничего не сделать. Сразу можно обнаружить, что в изменяемом месте нет переменной $user. Но код после правки переменных подойдет вполне. Только вот у новостей нет записи ID пользователя, который создал их. Лишь ник в виде строки.

Лучше всего тут ввести еще одно поле под запись ID создателя и заполнять его наряду с полем для ника. Потом при выводе делаете попытку получить данные о пользователе из таблицы users с помощью функции GetUserInfo. Если пользователь есть, выводите его ник из этих данных. В противном случае берете то, что есть в старом поле. Таким образом сохранится и имя удаленного пользователя, и имя зарегистрированного будет всегда актуальным. По сути так же реализовано и в модуле форума.

А потом у старых новостей можно попробовать выдернуть ID по нику из таблицы users. Обычно на сайте администраторов не так уж и много, так что соответствие можно расставить и вручную. А дальше уже само будет работать.
Супер пользователь
Сообщений: 420
Мартин:
Изменением шаблона тут не сделать. Туда прокинут только ник автора-создателя новости, а другим переменным там (тем же от форума, которые прокидывает модуль форум в свои шаблоны и независит от модуля новостей) делать нечего.

Но и мифическими заменами строк (тупо выдернутых из модуля форума?) тут ничего не сделать. Сразу можно обнаружить, что в изменяемом месте нет переменной $user. Но код после правки переменных подойдет вполне. Только вот у новостей нет записи ID пользователя, который создал их. Лишь ник в виде строки.

Лучше всего тут ввести еще одно поле под запись ID создателя и заполнять его наряду с полем для ника. Потом при выводе делаете попытку получить данные о пользователе из таблицы users с помощью функции GetUserInfo. Если пользователь есть, выводите его ник из этих данных. В противном случае берете то, что есть в старом поле. Таким образом сохранится и имя удаленного пользователя, и имя зарегистрированного будет всегда актуальным. По сути так же реализовано и в модуле форума.

А потом у старых новостей можно попробовать выдернуть ID по нику из таблицы users. Обычно на сайте администраторов не так уж и много, так что соответствие можно расставить и вручную. А дальше уже само будет работать.

Жестокость.Я ни черта не понял
Ну ладно,постараюсь вникнуть,если что,в этой теме продолжу диспут.
Спасибо,ждите опасных вопросов от ужасного Оуэна!

-- Изменено "Amney": 28.04.2014 23:34 --
Супер пользователь
Сообщений: 171
Amney:

Жестокость.Я ни черта не понял


вместо $user_id тупо вставьте свой 1


$vars['author'] = '<a href="'.Ufu("index.php?name=user&op=userinfo&user=$user_id", 'user/{user}/info/').'">'.$news['author'].'</a>';

$vars['author'] = '<a href="'.Ufu("index.php?name=user&op=userinfo&user=1", 'user/{user}/info/').'">'.$news['author'].'</a>';

и будет Вам счастье!!!

-- Изменено "MEN": 28.04.2014 23:59 --
Разработчик
Сообщений: 605
MEN:
вместо $user_id тупо вставьте свой 1

И толку? А если кто-то другой добавит новость? Бред, но если уж так, то можно, не трогая модуль, тупо указать ссылку в шаблоне и успокоиться.

-- Изменено "Мартин": 29.04.2014 09:07 --
Супер пользователь
Сообщений: 420
Мартин:
Лучше всего тут ввести еще одно поле под запись ID создателя и заполнять его наряду с полем для ника. Потом при выводе делаете попытку получить данные о пользователе из таблицы users с помощью функции GetUserInfo. Если пользователь есть, выводите его ник из этих данных. В противном случае берете то, что есть в старом поле. Таким образом сохранится и имя удаленного пользователя, и имя зарегистрированного будет всегда актуальным. По сути так же реализовано и в модуле форума.

А потом у старых новостей можно попробовать выдернуть ID по нику из таблицы users. Обычно на сайте администраторов не так уж и много, так что соответствие можно расставить и вручную. А дальше уже само будет работать.

Могли бы вы подробно расписать,как создать такой хук?
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 1)
Быстрый переход: