Отделяем важные темы от обычных

Отделяем важные темы от обычных

Hope

Premium
Сообщения
48,305
Решения
22
Реакции
71,871
Баллы
40,905
Пользователь Hope разместил новый ресурс:

Отделяем важные темы от обычных (версия 1.0) - Отделение важных тем форума от обычных.


В щаблоне thread_list находим:
Код:
<xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>


И ниже добавляем:
Код:
<xen:if is="{$stickyThreads}">
            <li class="sectionHeaders">&nbsp;</li>
        </xen:if>

Узнать больше об этом ресурсе...
 
Минутка рукоблудия:
PHP:
<xen:hook name="thread_list_stickies">
        <xen:if is="{$stickyThreads}">
        <li style="text-shadow: 2px 4px 3px rgba(0,0,0,0.3); font-size: 22pt; background: #d88585; height: 50px;" class="sectionHeaders">&nbsp;Важные темы раздела</li>
        </xen:if>
        <xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        <xen:if is="{$threads}">
                <li style="background: #6cb2e4; height: 50px;text-shadow: 2px 4px 3px rgba(0,0,0,0.3); font-size: 22pt;" class="sectionHeaders">&nbsp;Обычные темы раздела</li>
            </xen:if>
        </xen:hook>
В итоге отделяем обычные темы раздела от важных.
2017-01-09_03-55-40.png

Не знаю за актуальность, с CSS предлагаю играться самим.
PS: МБ позже сделаю, что-нибудь на основе красивых нотификаций.
PSS: Если есть ошибки или можно сделать более грамотно - просьба указать.
PSSS: Да, я некропостер.
 
Последнее редактирование:
  • Мне нравится
Реакции: Hope
Fruit, Рекомендую вот это
style="text-shadow: 2px 4px 3px rgba(0,0,0,0.3); font-size: 22pt; background: #d88585; height: 50px;"

Заменить на id и вынести в EXTRA.CSS
<li id="stickyThreads" class="sectionHeaders">&nbsp;Важные темы раздела</li>
Код:
#stickyThreads {
text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
font-size: 22pt;
background: #d88585;
height: 50px;
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ну и со 2-ым, так же сделать.
style="background: #6cb2e4; height: 50px;text-shadow: 2px 4px 3px rgba(0,0,0,0.3); font-size: 22pt;"

Заменить на id и вынести в EXTRA.CSS
<li id="Threads" class="sectionHeaders">&nbsp;Обычные темы раздела</li>
Код:
#Threads {
background: #6cb2e4;
height: 50px;
text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
font-size: 22pt;
}
 
Георгий Шевченко, Именно то чего мне не хватало!
Чуть-чуть улучшил:
PHP:
<xen:if is="{$stickyThreads}">
        <li id="stickyThreads" class="sectionHeaders">&nbsp;Важные темы раздела</li>
        </xen:if>
        <xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        <xen:if is="{$threads}">
                <li id="Threads" class="sectionHeaders">&nbsp;Обычные темы раздела</li>
            </xen:if>
        </xen:hook>
CSS для Extra.css
Код:
#stickyThreads {
  background: #eee;
  color: #222;
  font-family: Helvetica, Verdana, sans-serif;
  margin: 0;
  min-height:100%;
  padding: 10px 20%;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(255,255,255,0.1) 20px, rgba(255,255,255,0.1) 40px );
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  padding: 5px 10px;
  box-shadow:    inset 0 1px 0 rgba(255,255,255,0.5);
  border: 1px solid;
  margin: 10px 0;
  background-color: #f31;
  border-color: #d10;
}
#Threads {
  background: #eee;
  color: #222;
  font-family: Helvetica, Verdana, sans-serif;
  margin: 0;
  min-height:100%;
  padding: 10px 20%;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(255,255,255,0.1) 20px, rgba(255,255,255,0.1) 40px );
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  padding: 5px 10px;
  box-shadow:    inset 0 1px 0 rgba(255,255,255,0.5);
  border: 1px solid;
  margin: 10px 0;
  background-color: #6af;
  border-color: #48d;
}

На выходе:
2017-01-09_05-23-00.png
 
а че вы огород городите, зачем ид добавлять, там и так есть классы для них, простые - .threadListSeparator, закрепленные .threadListSeparator.sticky, а так вон повылазили полоски.
 
Собственно еще чуть-чуть правок.
Код шаблона thread_list:

PHP:
<xen:if is="{$stickyThreads}">
        <li class="threadListSeparator sticky"><i class="fa fa-exclamation-triangle"></i>&nbsp;Важные темы раздела</li>
        </xen:if>
        <xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        <xen:if is="{$threads}">
                <li class="threadListSeparator"><i class="fa fa-info-circle"></i>&nbsp;Обычные темы раздела</li>
            </xen:if>
        </xen:hook>
Код EXTRA.css:

Код:
.threadListSeparator.sticky {
  background: #eee;
  color: #222;
  font-family: Helvetica, Verdana, sans-serif;
  margin: 0;
  min-height:100%;
  padding: 10px 20%;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(255,255,255,0.1) 20px, rgba(255,255,255,0.1) 40px );
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  padding: 5px 10px;
  box-shadow:    inset 0 1px 0 rgba(255,255,255,0.5);
  border: 1px solid;
  margin: 10px 0;
  background-color: #f31;
  border-color: #d10;
}
.threadListSeparator{
  background: #eee;
  color: #222;
  font-family: Helvetica, Verdana, sans-serif;
  margin: 0;
  min-height:100%;
  padding: 10px 20%;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(255,255,255,0.1) 20px, rgba(255,255,255,0.1) 40px );
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  padding: 5px 10px;
  box-shadow:    inset 0 1px 0 rgba(255,255,255,0.5);
  border: 1px solid;
  margin: 10px 0;
  background-color: #6af;
  border-color: #48d;
}
На выходе имеем:
2017-01-09_09-37-14.png
PS: Как я понимаю это самый правильный вариант, дальше уже только собственная фантазия.
 
:-) не самый правильный, тогда уж фразы надо сделать и убрать этот костыль &nbsp, добавить отступ в css, да и класс sectionHeaders заменять не надо, я ж написал, что уже и так определен для них класс, только в css указать.
Я когда то делал, в дополнение собрал, только со стилями не заморачивалься :-) Для примера.

Да еще, только глянул на сам код :-) он у тебя сам себе противоречит :-)
PHP:
.threadListSeparator.sticky {
  background: #eee; /* background - первое */
  color: #222; /* color - первое */
  font-family: Helvetica, Verdana, sans-serif;
  margin: 0; /* margin - первое */
  min-height:100%;
  padding: 10px 20%; /* padding - первое */
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(255,255,255,0.1) 20px, rgba(255,255,255,0.1) 40px );
  color: #fff; /* color - второе */
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  padding: 5px 10px; /* padding - второе */
  box-shadow:    inset 0 1px 0 rgba(255,255,255,0.5);
  border: 1px solid;
  margin: 10px 0; /* margin - второе */
  background-color: #f31; /* background - второе */
  border-color: #d10;
}
Во втором классе тоже самое :-)
 

Вложения

  • addon-root_sticky_threads.zip
    882 байт · Просмотры: 56
Skaiman, Выспался, поправил.
Благодарю.)
 
Fruit, а можно для не особо сообразительных подробнее описать что и куда прописывать чтоб вышло как на вашем итоговом скрине?) заранее спасибо за внимание)
 
стася1984, выше Skaiman выложил в дополнении.
Для модификации стиля идешь сюда: admin.php?styles/, заходишь в шаблоны нужного стиля, дальше ищешь шаблон Extra.css и в нём уже по образцу выше добавляешь то, что нужно :-)
Или в чём проблема? Задавайте вопросы, тут всегда рады ответить)
 
Последнее редактирование:
Задавайте вопросы, тут всегда рады ответить)
спасибки. вопрос есть.
с EXTRA.CSS более менее понятно. но а ваш код
Код:
<xen:if is="{$stickyThreads}">
        <li class="threadListSeparator sticky"><i class="fa fa-exclamation-triangle"></i>&nbsp;Важные темы раздела</li>
        </xen:if>
        <xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        <xen:if is="{$threads}">
                <li class="threadListSeparator"><i class="fa fa-info-circle"></i>&nbsp;Обычные темы раздела</li>
            </xen:if>
        </xen:hook>
ставим в thread_list, так? я вот в шаблоне в дефолтном стиле учусь сейчас, мне надо заменить изначальный кусок кода в thread_list на тот, который тут выше?) просто если да, то мне выдает ошибку синтаксиса шаблонов в 53 строке. не могу понять куда я не так его ставлю?
 
спасибки. вопрос есть.
с EXTRA.CSS более менее понятно. но а ваш код
Код:
<xen:if is="{$stickyThreads}">
        <li class="threadListSeparator sticky"><i class="fa fa-exclamation-triangle"></i>&nbsp;Важные темы раздела</li>
        </xen:if>
        <xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        <xen:if is="{$threads}">
                <li class="threadListSeparator"><i class="fa fa-info-circle"></i>&nbsp;Обычные темы раздела</li>
            </xen:if>
        </xen:hook>
ставим в thread_list, так? я вот в шаблоне в дефолтном стиле учусь сейчас, мне надо заменить изначальный кусок кода в thread_list на тот, который тут выше?) просто если да, то мне выдает ошибку синтаксиса шаблонов в 53 строке. не могу понять куда я не так его ставлю?
Находите строку: <xen:hook name="thread_list_stickies">
Ниже нее идет содержимое:
PHP:
<xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
Вот его и нужно менять.
Собственно где и что менять написано тут: Отделяем важные темы от обычных я лишь чуть-чуть дополнил.
 
Последнее редактирование:
спасибки. вопрос есть.
с EXTRA.CSS более менее понятно. но а ваш код
Код:
<xen:if is="{$stickyThreads}">
        <li class="threadListSeparator sticky"><i class="fa fa-exclamation-triangle"></i>&nbsp;Важные темы раздела</li>
        </xen:if>
        <xen:foreach loop="$stickyThreads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        <xen:if is="{$threads}">
                <li class="threadListSeparator"><i class="fa fa-info-circle"></i>&nbsp;Обычные темы раздела</li>
            </xen:if>
        </xen:hook>
ставим в thread_list, так? я вот в шаблоне в дефолтном стиле учусь сейчас, мне надо заменить изначальный кусок кода в thread_list на тот, который тут выше?) просто если да, то мне выдает ошибку синтаксиса шаблонов в 53 строке. не могу понять куда я не так его ставлю?

Здесь есть беда, в переводе движка, и по этому не все на русском, но можно сделать по хитрому и дописать русский текст в кое какое место и выйдет как у меня.

upload_2017-2-6_12-59-56.png

Этот текст и темы я дописал в ручную.
 
Здравствуйте! А можно ли как то отделить еще и темы с определенным префиксом? Как например сделан блок Коммерческие темы (показываются темы с префиксом Реклама): (не реклама)
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу