Доработать блок info под топиком

Друзья необходимо доработать блок info тот что под топиком.

И чтоб без лишних букв и наглядности для — пикча



Кто поможет, кто подскажет, кто сделает?

Автору решения на пива, печенье, мороженное обещаю

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

avatar
Помогу, подскажу, сделаю.
P.S. Отписал в ЛС.
avatar
по асечкам не бегаю т.к. не обладаю

Все выкладывайте в топике. Не секретная информация же
avatar
В шаблоне (topic_topic.tpl, topic-link.tpl, topic-photoset.tpl, topic-question.tpl) перед выводом имени ника вставляем:
{if $oUserProfile->getProfileSex()!='other'}{if $oUserProfile->getProfileSex()=='man'}Написала{else}Написал{/if}{/if}
Далее замените
{date_format date=$oTopic->getDateAdd()}
на
{date_format date=$oTopic->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="d F Y, H:i"}

Что касается вывода комментариев, то они по умолчанию так и сделаны, как у вас нарисунке.
avatar
Ай, простите ошибся чуточку, то для вывода в профиле пользователя.
Вот так надо:
{if $oUser->getProfileSex()!='other'}{if $oUser->getProfileSex()=='man'}Написала{else}Написал{/if}{/if}

Что касается дат — там всё верно!
avatar
Написал{if $oUser->getUserProfileSex()=='woman'}а{/if}{if $oUser->getUserProfileSex()=='other'}(а){/if}

может так?
avatar
Так даже лучше — будет отображаться и для тех, кто не указал пол в профиле!
avatar
Только «Написал» и «Написала» в коде поменяйте местами :)
avatar
Вот такая штука

Fatal error: Call to a member function getProfileSex() on a non-object in /var/www/ftramp/data/www/islademuerta.ru/templates/compiled/developer-jquery/5bbf4f6cce9faccbccc38e48fdb43c18ea516a64.file.topic-topic.tpl.php on line 235
avatar
Какая версия LS? Кеш чистили?
avatar
0.5.1, да
avatar
Поправил код, смотрите комментарии выше.
avatar
существующий или несуществующий? больше на несуществующий похоже
avatar
Вы о чем?
avatar
о том откуда принтскрин
avatar
А, ну тогда я с вами солидарен! :)
avatar
несуществующий же
avatar
тогда для полноты картины нужно показывать кто как проголосовал
avatar
и должность\звание
avatar
Вы бы сразу писали спектр работ :D
avatar
звание можно легко добавить, добавив поле в базе данных. Только как вы его заполнять будете, на платной основе или каждому пользователю дать возможность смены в собственном профиле?
avatar
Было бы круто сначала дать каждому возможность менять, а там уже и за деньгу можно когда ресурс наберет обороты.
Правда тут уже плагином попахивает :)
avatar
надо бы наверно вынести в отдельный плагин просмотр кто как проголосовал.

Звание в плагин, одно поле для внесения в настройках профиля, стоит ли оно того. А на платной основе в любом случае потребуется кошелек и тогда становится все гораздо сложнее.
avatar
Думаю что пока что и без оплаты пойдёт.
Возьметесь за реализацию на досуге? ;)
avatar
Звание? пожалуй сейчас делаю на своем сайте (раньше я заносил значение прямо в базу, пожалуй дам пользователям пока самим менять)

Ну и попутно отпишусь тут, куда чего вставлять
avatar
создаем в таблице prefix_user поле для звания
user_zvanie	varchar(255)


Добавляем в ваш шаблон в файл action/ActionSettings/profile.tpl
например после
<p>
		<label for="profile_name">{$aLang.settings_profile_name}:</label><br />
		<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="input-200" /><br />
		<span class="note">{$aLang.settings_profile_name_notice}</span>
	</p>
добавляем
<p>
		<label for="zvanie">Должность/звание:</label><br />
		<input type="text" name="zvanie" id="zvanie" value="{$oUserCurrent->getUserZvanie()|escape:'html'}" class="input-200" /><br />
		<span class="note">Длина должности не может быть меньше 2 и больше 20 символов.</span>
	</p>


теперь идем в /action/ActionSettings.class.php
находим
if (func_check(getRequest('profile_name'),'text',2,20)) {
				$this->oUserCurrent->setProfileName(getRequest('profile_name'));
			} else {
				$this->oUserCurrent->setProfileName(null);
			}
и после вставляем
if (func_check(getRequest('zvanie'),'text',2,20)) {
				$this->oUserCurrent->setUserZvanie(getRequest('zvanie'));
			} else {
				$this->oUserCurrent->setUserZvanie(null);
			}


и последний шаг, идем в /actions/modules/User/mapper/User.mapper.class.php
и находим
public function Update(ModuleUser_EntityUser $oUser) {

там вставляем перед WHERE user_id = ?
user_zvanie = ?
, не забудьте строчкой выше в конце строки поставить запятую.

И примерно 10 строками ниже, перед $oUser->getId(), вставьте
$oUser->getUserZvanie(),
avatar
Может лучше упаковать в плагин?
P.S. В комментах можно будет выводить? Например как на Лепре: «Написал вам в ботинки %username%».
avatar
а в комменте вставляется код
{$oUser->getUserZvanie()}

Плагином надо будет переопределять футнкцию Update юзера, а туда могли уже что-то добавлять руками. В общем не думаю что это можно как-то правильнее сделать
avatar
Робит! Красота)
В первом комменте не совсем пути верно указаны. Лучше наверное перепишите всё да запостите отдельной темой, многим будет полезно!
avatar
если хотите оформляйте, мне гораздо интереснее кодить чем писать (извиняюсь если кому это не по душе).
avatar
а вот кто как проголосовал, у себя то я сделал, только не тестировал комплексно, надо будет подправить дизайн, чтоб не выглядело таким плагиатом и вынести в отдельный плагин.

Сроки затрудняюсь озвучить
avatar
плагин то есть, а прикрутить его, например, к плагину «кошелек» труда не большого не составит
avatar
Все делается удовольствия ради поэтому абсолютная халява и свобода
avatar
Спасибо друзья выручили. Пишите кошельки в личку (лучше яндекс) закину вам
avatar
глупости какие. С одного же бложика как я понимаю
avatar
Все верно =)
avatar
Раз уж пошла такая пьянка, может у кого есть готовое решение чтоб карма была как на несуществующем?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.