Помощь Можно ли такое сделать с комментами

Тема в разделе "DLE", создана пользователем alexo, 10 фев 2010.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. alexo

    alexo

    Регистр.:
    28 май 2006
    Сообщения:
    311
    Симпатии:
    5
    Привет

    Недавно обновился до 8.3 версии и по ходу пропали несколько фичей, которые настроил прежный наш вебмастер.

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

    Подскажите если не трудно
     
  2. Mr.Tokio

    Mr.Tokio

    Регистр.:
    17 дек 2007
    Сообщения:
    282
    Симпатии:
    44
    и так восполним промежутки..

    Наверняка многие видели на некоторых сайтах и в блогах, что комментарии администратора отличаются по внешнему виду от комментариев пользователей.
    Это очень удобно т.к. комментарий сразу заметно. Жалко только что в DLE нет такой возможности.
    Сегодня будем исправлять этот недостаток, но пойдём немного дальше и сделаем возможность использовать своё оформление для любой группы пользователей.

    Концепция проста:
    Присвоить каждой группе пользователей свой стиль отображения комментариев через CSS на основании ID этих групп, с помощью тега {group-id}

    Но проблема в том что в DLE нет возможности поставить тег {group-id} в шаблон комментариев.
    Чтобы реализовать эту возможность нам нужно поправить файлы show.full.php и lastcomments.php

    1. Открываем show.full.php.
    Ищем:
    PHP:
    $tpl->set('{group-name}'$user_group[$row['user_group']]['group_name']);
    Ниже пишем:
    PHP:
    $tpl->set'{group-id}'$user_group[$row['user_group']]['id']);
    2. Открываем lastcomments.php.

    Ищем:
    PHP:
    $tpl->set('{group-name}'$user_group[$row['user_group']]['group_name']);
    Ниже пишем:
    PHP:
    $tpl->set'{group-id}'$user_group[$row['user_group']]['id']);
    Всё, теперь при вставке в шаблон comments.tpl тега {group-id} будет выводиться ID группы пользователя.

    Ну а остальное дело техники:

    В style.css создаём стили для каждой из групп пользователей:
    PHP:
    .com_1 {background#fdf5e6;}
    .com_2,.com_3,.com_4,.com_5, {background#fff;}
    В comments.tpl пишем примерно следующее:
    PHP:
    <div class="com_{group-id}"тут код шаблона </div>
    Таким образом при публикации комментария {group-id} будет принимать значение от 1 до 5 и задавать соответствующий css-класс. В данном примере комментарии администраторов будут на светло-оранжевом фоне, а комментарии остальных пользователей на белом фоне.

    Дальше включаем воображение и красиво оформляем комментарии у себя на сайте.
     
    alexo нравится это.
  3. alexo

    alexo

    Регистр.:
    28 май 2006
    Сообщения:
    311
    Симпатии:
    5
    техники понятно и спасибо за правильный подход, вот только не нашел строки которые ты указал.

    Файл -engine/modules/show.full.php (я так понял о нем идет речь) не содержит такую строку -

    из похожих строк

    Код:
    	$tpl->set( '{group}', $user_group[$member_id['user_group']]['group_name'] ); 
    что касается lastcomments.php. их этой же папки, то он вообще не содержит такую строку

    Версия у меня как я уже говорил 8.3
     
  4. Mr.Tokio

    Mr.Tokio

    Регистр.:
    17 дек 2007
    Сообщения:
    282
    Симпатии:
    44
    Фуф ну извеняй я пока что сижу на 8.0....
    ПС..нашел сейчас в гугле...
    1.Копируем изображения из папки images в вашу папку )(ваш_шаблон/images)
    2. В ваш главный стиль (ваш_шаблон/css/style.css) добавляем строку:
    PHP:
    #yellow1 { background-color: rgb(255, 247, 222); }  // где "(255, 247, 222)" это цвет формы  сообщения
                                                      // его можно взять в фотошопе в палитре цветов "(R,G,B)"
    3. В папке /engine/modules/ открываем фил show.full.php и находим:
    PHP:
    if ($config['comm_msort'] == "ASC")
        {
            
    $tpl->set('{comment-id}'$cstart+$i);
            
    $a_comment_id $cstart+$i;
        }
    Заменяем полностью на:
    PHP:
    if ($config['comm_msort'] == "ASC")
        {
            
    $yuzumi=$cstart+$i;                           //приравниваем к переменной "$yuzumi"  номер сообщения
            
    $yuu = ($yuzumi%2==0) ? '2' '1';  //приравниваем к переменной "$yuu" значение где если
                                            //переменная "$yuzumi" делится на 2 без остатка то "$yuu"  
                                            //получает значение  "2" в других случаях "1"
            
    $tpl->set('{comment-id}'$yuu);    //передаем значение переменной "$yuu" в шаблон "comments.tpl"
            
    $a_comment_id $cstart+$i;
        }
    4. Теперь редактируем "comments.tpl" (ваш_шаблон/comments.tpl:(
    PHP:
    <div id="yellow{comment-id}" style="margin-right: 0px; padding-right: 0px;">
    <
    div style="height: 8px; font-size: 0px;">
        <
    div style="float: left;"><img ilo-full-src="/templates/Simple/images/yc_tl.gif" src="/templates/Simple/images/{comment-id}yc_tl.gif" width="8" border="0" height="8"></div>
        <
    div style="float: right;"><img ilo-full-src="/templates/Simple/images/img/yc_tr.gif" src="/templates/Simple/images/{comment-id}yc_tr.gif" width="8" border="0" height="8"></div>
    </
    div>

    [
    ВАША ФОРМА КОММЕНТАРИЯ]

    <
    div style="height: 8px; font-size: 0px;">
        <
    div style="float: left;"><img ilo-full-src="/templates/Simple/images/img/yc_bl.gif" src="/templates/Simple/images/{comment-id}yc_bl.gif" width="8" border="0" height="8"></div>
        <
    div style="float: right;"><img ilo-full-src="/templates/Simple/images/yc_br.gif" src="/templates/Simple/images/{comment-id}yc_br.gif" width="8" border="0" height="8"></div>
    </
    div>
    </
    div>
    <
    br>
    // "id="yellow{comment-id}"" вызывает стиль "yellow1" если сообщение нечетное и "yellow2" если четное ("yellow1" не сущесвует так что стиль не вызывается в моем случае)

    // "{comment-id}изображение.gif" вызывает изображения вида"1изображение.gif" если сообщение нечетное и "2изображение.gif" если четное ("2изображение.gif" не существует так что изображения не вызывается) - эти изображения округляют наше сообщение


    ПС2 скорей всего его тоже придется переписывать под 8.3
     
  5. mpi123456

    mpi123456 Писатель

    Заблокирован
    Регистр.:
    29 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    в comments.class.php посмотри
     
  6. alexo

    alexo

    Регистр.:
    28 май 2006
    Сообщения:
    311
    Симпатии:
    5
    Mr.Tokio,

    что скажешь по поводу этого кода

    Код:
    <a href="{profile}" class="hintanchor" onMouseover="showhint('{hint}', this, event, '200px');"><span style="color:[user_group=1]red[/user_group][user_group=2]blue[/user_group][user_group=3]black[/user_group][user_group=4]black[/user_group];">{user_name}</span></a>,
    Это код из user.tpl template-а (кто онлайн модуль)
    Не значит ли это, что я могу этот код (стайл) подробовать и на comments.tpl template? Имею ввиду, может быть нет смысла стольких изменений в файлах (lastcomments.php, show.full.php) а просто как то пристроить что то подобное в comments.tpl template (хотя пока не совсем хорошо предсталяю как)

    Added later-
    -------
    Поступил чуток топорно, но главное работает.
    Не делал ничего такого, что было прописанно наверху - никаких изменений в пхп файлах
    Затронул всего 2 файла

    в css file add this

    Код:
    .com_Администраторы {font:1em Verdana; color:#CE0000; padding:5px 5px 10px 10px; background: #F7FDE6; border: 1px dotted rgb(190,190,190);}
    {user_group} or {group-id} почему то не работали

    и в comments.tpl

    Код:
    {comment} change to <div  class="com_{group-name}">{comment}</div>
    топорно, так как первый раз пишу стайл на русском - а так работает :)
     
  7. abasive

    abasive Постоялец

    Регистр.:
    9 мар 2009
    Сообщения:
    117
    Симпатии:
    39
    Не подскажете как исправить, обновился до 8.3 версии, изменил шаблон как было написано в инструкций,вместо bbcode ставляю editor, но в таком случае при добавление коментарии фон вылезает из таблички ббкод
    Скрин
    http://i073.radikal.ru/1002/f4/70920962df75.jpg
    addcomments
    Код:
    <div id="respond">
    <h3>{title}</h3>
    <br />
    [not-logged]
    <p><input type="text" name="name" id="name" class="f_input" />
    <label for="author"><small>Ваше Имя:</small></label></p>
    <p><input type="text" name="mail" id="mail" class="f_input" />
    <label for="email"><small>Ваш E-Mail:</small></label></p>
    [/not-logged]
    [not-wysywyg]{bbcode}[/not-wysywyg]
    <p>
    [not-wysywyg]<textarea name="comments" id="comment" rows="10" cols="100%" tabindex="4" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))">{text}</textarea>[/not-wysywyg]{wysiwyg}
    </p>
    <br />
    [sec_code]
    Код:<br />{sec_code}
    <br /><br />
    Введите код:
    <input type="text" name="sec_code" id="sec_code" style="width: 200px" class="f_input" />
    [/sec_code]
    <p>
    <input onclick="doAddComments();return false;" name="submit" id="submit" type="submit" tabindex="5" value="Добавить комментарий" />
    </p>
    </div>
    <br/>   
     
  8. Mr.Tokio

    Mr.Tokio

    Регистр.:
    17 дек 2007
    Сообщения:
    282
    Симпатии:
    44
    alexo почему же топорно? вполне нормально,у меня примерно также реализовано чередование цветов.

    Добавлено через 11 минут
    abasive css правил?

    сверся с этим ИЗМЕНЕНИЯ В 8.3

    если не поможет выкладывай css'ки...
     
    Slavikus нравится это.
  9. abasive

    abasive Постоялец

    Регистр.:
    9 мар 2009
    Сообщения:
    117
    Симпатии:
    39
    да css правил по инструкций,но ощибка остаеться
    чыстый css без изменений
    Посмотреть вложение css.rar
     
  10. alexo

    alexo

    Регистр.:
    28 май 2006
    Сообщения:
    311
    Симпатии:
    5
    а разве допустимо писать в css на русском? Проблем не будет ?
     
Статус темы:
Закрыта.