|
|
12.10.2008, 14:21
|
|
vitema
Зарегистрирован: 2008-10-12
Сообщений: 11
|
Как вывести 4 последних новости
таком виде
Новость1 Новость2
Новость3 Новость 4
|
|
|
13.10.2008, 00:40
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 334
|
Сильно зависит от макета дизайна.
Можно, например, считать новости, упаковывать их в div-контейнеры и нечётным контейнерам давать стиль float: left, а чётным - clear: both.
Можно по примеру фотогалереи строить табличку. Наверное ещё что-то реально придумать. Это первое, что в голову пришло.
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
13.10.2008, 07:15
|
|
vitema
Зарегистрирован: 2008-10-12
Сообщений: 11
|
Kraeved писал(а):Сильно зависит от макета дизайна.
Можно, например, считать новости, упаковывать их в div-контейнеры и нечётным контейнерам давать стиль float: left, а чётным - clear: both.
Можно по примеру фотогалереи строить табличку. Наверное ещё что-то реально придумать. Это первое, что в голову пришло.
меня интересует конкретное решение.
Если нужна конкретная постановка вопроса, попробую ее сформулировать :
На титульной (только на титульной) странице нужно вывести новости из раздела допустим Новости компании,
в этом разделе используется компонент Новости (СМИ), поставляемый с неткат.
То как он выводит новости меня полностью устраивает (разбивка на страницы, вывод краткой части, основной части, отображение даты, показ отдельной новости и тд).
Но, вывести новости на титульной странице мне нужно в формате в котором я писал выше.
Понятно, разбить можно с использованием css или таблицы
Вопрос в том, с помощью каких средств неткат позволят решить такую задачу.
Не хочется городить кучу php кода, и sql запросов.
Из того, что я читал в документации, отлично подходит функция s_list_class, можно отобразить например 4 последних новости именно в формате компонента.
Но мне то нужно отобразить их в формате таблицы 2 на 2.
Подходящих функций я не нашел.
Самый простой вариант, какой мне видется :
нарисовать эту таблицу, и в соответствующей td отобразить последнюю, предпоследнюю и тд
новости.
Можно ли сделать такую выборку с использованием s_list_class ?
Какие функции можно для этого использовать?
Либо как-то поместить в массив допустим результат возврата s_list_class , и дальше раскидать.
Есть пример как это делается?
3 вариант какой я вижу, это сделать копию компонента и в нем подправить вывод страницы...
но он мне не нравится, ибо нужно только для титульной такое представление.
|
|
|
13.10.2008, 09:25
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 334
|
Что-то вы излишне мудрите
Я не знаю, что из себя представляет компонент «Новости (СМИ)», поставляемый с системой и посмотреть мне негде. Но полагаю, ничего сильно уникального там нет, потому навскидку, от фонаря:
Префикс:
Код:".($isTitle ? "<table><tr>" : "Префикс вывода в разделе «Новости»")."
Список объектов:
Код:".( $isTitle ? "
".opt( $newsCount/2 == round($newsCount/2), "</tr><tr>" )."
<td>Формат новости для титульной страницы</td>
".opt($newsCount++, "")."
" : "Формат новости для раздела «Новости»")."
Суффикс:
Код:".($isTitle ? "</tr></table>" : "Суффикс вывода в разделе «Новости»")."
То есть понимаете, да? Между каждой парой ячеек принудительно втыкается завершение предыдущей строки таблицы и начало следующей. Решение подойдёт и в случаях, когда в строке требуется расположить больше ячеек. На главную выводится стандартно, функцией s_list_class. В примере я мог где-то кавычку пропустить, проверьте.
ЗЫ. И топик свой поправьте плиз... переносы строки уберите. А то смотрится чудовищно
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
13.10.2008, 11:17
|
|
vitema
Зарегистрирован: 2008-10-12
Сообщений: 11
|
ну собственно я примерно так и сделал
То есть в самом шаблоне компонента, прописал так :
Код:".opt_case($f_RowNum+1 & 1 "<tr><td>","<td>")." <!-- Проверка на четность -->
код вывода объекта Новости в компоненте
".opt_case($f_RowNum+1 & 1, "</td></tr>","</td>")." <!-- Проверка на четность -->
по сути реализовали вывод новостей в две колонки
А в макете дизайна соотвественно :
Код:<table>
". s_list_class(98,108,"recNum=4") ." <!-- берем последние 4 -->
</table>
Примеров не хватает,документация куцая, я нахожусь на этапе разбирательства с неткат, возможностей вроде как море, а что, и как, и где использовать сразу не сообразишь и не найдешь.
Kraevedu, персональное спасибо за участие в топике...
|
|
|
13.10.2008, 12:47
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 334
|
Не за что. Чем сможем - поможем.
На самом деле, как и практически с любой системой, важен больше опыт и наработки, чем документация. Какой подробной её не делай, всё равно куча белых пятен останется. По-хорошему, её надо вообще писать с нуля и руководствоваться несколько иными принципами, нежели чем это сделано сейчас. Впрочем, это можно сказать о документации практически ко всему, что документируется
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|