• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Новости в два столбца в шаблоне

Статус
В этой теме нельзя размещать новые ответы.

RusBiT

Постоялец
Регистрация
29 Мар 2007
Сообщения
101
Реакции
3
Нужно чтобы новости (точне содержимое shortstory.tpl) было в два столбца...
Подскажите как реализовать такое?
Если б в шаблоне поддерживался php, то проблем бы не составило :)
 
По идеи php можно использовать в шаблоне Для просмотра ссылки Войди или Зарегистрируйся
Ещё нашёл пост на одном форуме:
(хак предназначен для версии 4.2, будет работать начиная с версии 4.0 ... для боле ранних могу тоже подсказать, где и что нужно править, если напишете в личку)
давно вам обещал такое вот сделать, да все никак руки не доходили, изначально собирался делать модулем, но потом понял, что это можно сделать при помощи одного хака
в несколько колонок будут выводится только краткие новости т.к. я не вижу выводить что-либо оставшееся в виде колонок...
итак приступим:
открываем файл /engine/modules/show.short.php
ищем
Код
if (empty($row['alt_name'])) $row['alt_name'] = totranslit ($row['title']);
$i++;
дописываем
Код
if ($i % 2 == 0){
$line_break = '</tr><tr>';
} else {
$line_break = '';
}
дальше ищем
Код
$news_find = array(
'{date}' => langdate($config['timestamp_active'], $row['date']),
'{comments-num}' => $row['comm_num'],
'{views}' => $row['news_read'],
'{category}' => $my_cat,
'{link-category}' => $my_cat_link,
'{category-icon}' => $cat_info[$row['category']]['icon'],
'{news-id}' => $row['id'],
'{php-self}' => $PHP_SELF,
'{PAGEBREAK}' => '',
'{rssdate}' => date("r", $row['date']),
'{rssauthor}' => $row['autor'],
);
заменяем на
Код
$news_find = array(
'{date}' => langdate($config['timestamp_active'], $row['date']),
'{comments-num}' => $row['comm_num'],
'{views}' => $row['news_read'],
'{category}' => $my_cat,
'{link-category}' => $my_cat_link,
'{category-icon}' => $cat_info[$row['category']]['icon'],
'{news-id}' => $row['id'],
'{php-self}' => $PHP_SELF,
'{PAGEBREAK}' => '',
'{rssdate}' => date("r", $row['date']),
'{rssauthor}' => $row['autor'],
'{line-break}' => $line_break,
);
еще ищем
Код
else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");
$tpl->compile('content');
}
после этого и перед
Код
$tpl->clear();
добавляем
Код
$tpl->result['content'] = '<table><tr>'.$tpl->result['content'].'</tr></table>';
чтобы получилось
Код
else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");
$tpl->compile('content');
}
$tpl->result['content'] = '<table><tr>'.$tpl->result['content'].'</tr></table>';
$tpl->clear();
теперь открываем файл
shortstory.tpl
в самое начало файла дописываем
Код<td valign="top">
а в самый конец файла дописываем
Код</td>
{line-break}
и вуаля, теперь короткие новости у вас выводятся в две колонки, чтобы изменить количество колонок достаточно
тут
Код
if ($i % 2 == 0){
$line_break = '</tr><tr>';
} else {
$line_break = '';
}
заменить цифру 2 на любую другую, по количеству желаемых колонок
после этого вам возможо понадобится править ваш shortstory.tpl для более красивого вывода
##################################################
forum.dle-news.ru
работу на 5.х 6.х не проверял
Если в php хорошо понимаешь, то разбери вот этот двиг: Для просмотра ссылки Войди или Зарегистрируйся (там это реализовано в базовой поставке)
Вот ещё модуль тут продают, может где на халяву найдёшь... Для просмотра ссылки Войди или Зарегистрируйся

ПОЧИТАЙ ЕЩЁ ЭТОТ ТОПИК: Для просмотра ссылки Войди или Зарегистрируйся
 
Это разделение работает, но тогда теряется полностью вывод rss. Нужно будет вывод rss переделывать полностью
 
можно сделать через стили css.

наглядный пример:

у нас есть колонка шириной в 900px, или шириной в 80%.
внутри нее создаем блоки с таким кодом:

<div class="newsb">текст новости</div>
<div class="newsb">текст новости</div>
<div class="newsb">текст новости</div>
<div class="newsb">текст новости</div>

далее в css задаем такие стили:
.newsb {float:left; width:400px;}
или
.newsb {float:left; width:45%;}

сохраняем.

не забудьте под {content} поставить <div style="clear:both;"></div>, дабы не было глюков.
 
ss_sss
это для 8,2 уже устарело
((
 
Могу предложить стандартные средства движка. Работает на 8.2

1. в файле /templates/ваш шаблон/main.tpl
поставьте в теги [not-aviable=main]{content}[/not-aviable] этим Вы закроете вывод контента на главную сайта.

3) Между {info} и {content} вставляете кусок кода:
PHP:
{info}
<table width="100%">
   <tr>
    <td width="50%">{custom category="2" template="shortstory" aviable="main" from="0" limit="3" cache="yes"}</td>
    <td width="50%">{custom category="4" template="shortstory" aviable="main" from="0" limit="3" cache="yes"}</td>
   </tr>
</table>
<table width="100%">
   <tr>
    <td width="50%">{custom category="5" template="shortstory" aviable="main" from="0" limit="3" cache="yes"}</td>
     <td width="50%">{custom category="6" template="shortstory" aviable="main" from="0" limit="3" cache="yes"}</td>
   </tr>
</table>
<table width="100%">
   <tr>
    <td width="50%">{custom category="3" template="shortstory" aviable="main" from="0" limit="3" cache="yes"}</td>
    <td width="50%">{custom category="1" template="shortstory" aviable="main" from="0" limit="3" cache="yes"}</td>
   </tr>
</table>
[not-aviable=main]{content}[/not-aviable]
 
не совсем работает, или не во всех шабах, у меня разбрасывает новости по странице с большими пробелами и в шахматном порядке. пробовал менять и размер новостей и местами переставлял, итог один и тот же.
и можно подробнее о способе который описал Guf, я так понимаю, что это <div class="newsb">текст новости</div> в стили ну никак ненадо ставить. кто в курсе, напишите, что куда прописывать, плизз))
 
не совсем работает, или не во всех шабах, у меня разбрасывает новости по странице с большими пробелами и в шахматном порядке. пробовал менять и размер новостей и местами переставлял, итог один и тот же.
и можно подробнее о способе который описал Guf, я так понимаю, что это <div class="newsb">текст новости</div> в стили ну никак ненадо ставить. кто в курсе, напишите, что куда прописывать, плизз))
В стили нужно прописать только
Код:
.newsb {float:left; width:400px;}
или 
.newsb {float:left; width:45%;}

Остальное в main.tpl
 
перечитал весь форум, все темы очень старые, под ранние версии модуля...

Нужно сделать чтобы при входе в категорию, все новости, какие там есть отображались в два столбца. (DLE 8.5)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху