Перейти к публикации

Рекомендованные сообщения

(хак предназначен для версии 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 для более красивого вывода новостей :)

ЗЫ: отписываемся о возникших проблемах

Ссылка на сообщение
Поделиться на других сайтах

мне еще шаблоны редактить и редактить, а то слишком широкая страница получается..., но будет похоже как на netz.ru (это не реклама, просто пример)...

вывод будет вида

1 2			1 2 3

3 4   или	  4 5 6

5 6			7 8 9

и т.д.		 и т.д.

в зависимости от количества колонок

Изменено пользователем y0r1c
Ссылка на сообщение
Поделиться на других сайтах

Всё отлично работает. :D

Вот только если кто подскажет или хотя бы намекнёт, как сделать что бы колонки были одного размера (по ширине).

Или стремились к тому, что бы были хоть немного одинаковые по ширине.

Просидел пару часов, перепробовал всё что знаю, не получается.

А так, всё отлично. Ещё раз спасибо.

Ссылка на сообщение
Поделиться на других сайтах

хак не меняет колонки по ширине, вправь в своих шаблонах, попробуй, например, в шаблоне shortstory.tpl ... там где ты в самом началале написал

<td>

написать

<td width="250">

либо какую-нибудь другую ширину

Ссылка на сообщение
Поделиться на других сайтах

Я пробовал ставить на localhost..... кривоват хак. Если блоки с новостями в строке имеют разную высоту, то блоки в колонках не идут один за другим...... а между ними образуется пробел, равный разнице между высотами блоков в строке.

Скрин смотрите тут

хак не меняет колонки по ширине, вправь в своих шаблонах, попробуй, например, в шаблоне shortstory.tpl ... там где ты в самом началале написал

<td>

написать

<td width="250">

либо какую-нибудь другую ширину

Если поставить фиксированную ширину, то это означает настроить диз под конкретное разрешение.... а если разрешение будет больше или меньше, то это будет косяк...

Если разрешение будет меньше... то внизу появиться полоса прокрутки... а если больше, то колонки прижмутся к левой стороне, и будет большое расстояние между новостями и правой, крайней колонкой

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

А у меня получается, что кадая новость в новой колонке, хотя прописано $i % 2 == 0). И {line-break} не отображается, а так и пишется в браузере.

Изменено пользователем Gray
Ссылка на сообщение
Поделиться на других сайтах

Короче тут такой вот глюк:

Если на главной вывожу с помощью content, то всё окей, а если с помощью custom, то каждая новость становится в отдельном столбце и страница растягивается вширь.

Ссылка на сообщение
Поделиться на других сайтах

Вот вам скрины то что получилось у меня на стандартном шабике...:

13sb.th.jpg 26ev.th.jpg

Возник вот такой очень неприятный момент, третья новость оказалась по до всеми а не там где надо.(

38ff.th.jpg

Ссылка на сообщение
Поделиться на других сайтах

она оказалась какраз там где надо, ведь первые две новости заключены в общий <tr>.. соответственно никакая друга не может туда влезть, для того, чтобы новости в столбиках располагались независимо, нужно четные новости записывать в 1-у переменную, а нечетные в другую, а потом их обьеденять ;)...

Ссылка на сообщение
Поделиться на других сайтах

Однако когда вся страница в дырках, причём в достаточьно большых, это не совсем красиво и удобно...

В принципе у меня неплохо получалось дома, на Денвере. Получались практически одинаковые колонки, при условии что картинка в краткой новости (точно не помню, 180 пикселей что ли) и новостей достаточно много. И в краткой новости примерно одинакого текста. Пробовал при 800 на 600, 1024 на 768. Жаль только скринов не сделал.

Точнее говоря делал, но посылать не стал. Новости были забиты вполне реальные и даже присутствовал логотип информ агенства. Не захотел что бы меня вычислили. Делал что бы показать что кое что умею.

Кстати, благодаря своему увлечению получил на днях работу в этом агенстве. :D .

Если бы в DLE была полноценная поддержка английского, т.е публиковать новости сразу на двух языках, приболтал бы купить DLE.

Ссылка на сообщение
Поделиться на других сайтах

У меня версия 4.2 Я сделал всё как написано выше но при открытии страницы у меня на белом экране ошибка помогите что делать????????

Ошибка

"Parse error: parse error in x:\home\ddt\www\engine\modules\show.short.php on line 184 "

ПОМОГИТЕ :(

Ссылка на сообщение
Поделиться на других сайтах

VIP77

Спасибо огромное я уже разобрался!

Исзвини конечно но не мог бы ты ответить на вопрос в этой теме

(просто мой сайт готов на 90% остался только этот вопрос)

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

У меня не получается что-то. Вроде все сделал так, как было сказано выше, но колонки убей себя не разделаются.

После того, как изменил файлы и закачал на сервер, что еще нужно сделать? Создать категории, и при добавлении новости выбирать какая новость в какую категорию?

Версия скрипта: DLE 4.2

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...