- Список новостей
- Описание subscribe.news
- Параметры
- Пример вызова
- Пользовательские комментарии
- Битрикс. Комплексный компонент «Новости»
- Шаблон списка новостей
- Постраничная навигация
- ЧПУ (SEF)
- Шаблон отдельной новости
- Хлебные крошки
- Вывод новости детально
- Про вывод новостей
- Новость детально
- Описание news.detail
- Параметры
- Пример вызова
- Пользовательские комментарии
Список новостей
Описание subscribe.news
Компонент служит для выбора списка новостей из одного или нескольких информационных блоков для формирования рассылки. Компонент стандартный и входит в дистрибутив модуля.
В визуальном редакторе компонент расположен по пути Сервисы > Рассылки > Список новостей.
Компонент относится к модулю Рассылки.
Параметры
Поле | Параметр | Описание |
Дополнительно | ||
---|---|---|
Сайт | SITE_ID | Указывается идентификатор сайта, информационные блоки которого будут участвовать в формировании рассылки. |
Тип информационного блока | IBLOCK_TYPE | Указывается тип информационного блока. |
Код информационного блока | ID | Для выбранного типа инфоблоков указывается идентификатор инфоблока, список элементов которого будет участвовать в формировании рассылки. Если необходимы элементы всех инфоблоков выбранного типа, то укажите (все). |
Поле для сортировки новостей | SORT_BY | Указывается поле, по которому будет выполнена сортировка новостей в списке: по дате начала активности (ACTIVE_FROM) или по индексу сортировки (SORT). |
Направление сортировки новостей | SORT_ORDER | Указывается направление сортировки: по убыванию (DESC) или по возрастанию (ASC). |
Пример вызова
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Источник
Битрикс. Комплексный компонент «Новости»
Создаем раздел blog и в визуальном редакторе, в правой колонке выбираем комплексный компонент «Контент • Новости • Новости» и добавляем его на страницу. Это комплексный компонент, предназначен для решения нескольких задач: показывать список новостей, показывать отдельную новость и т.д.
Рядом с комплексным компонентом есть несколько простых, которые предназначены для решения одной задачи:
- Список новостей
- Новость детально
В настройках компонента оставляем шаблон .default , выбираем тип инфоблока и сам инфоблок, которые были предварительно созданы в панели управления. Отмечаем checkbox-ы «Включать раздел в цепочку навигации» и «Устанавливать статус 404». В принципе, больше можно ничего не менять, остальные настройки можно поменять позже. В результате файл /blog/index.php будет таким:
Сам компонент расположен в bitrix/components/bitrix/news . В папке templates видим три шаблона, и среди них .default , который мы выбрали. Теперь надо скопировать этот шаблон в папку шаблона сайта, чтобы адаптировать его под свои нужды. Для раздела «Блог» предусмотрен отдельный шаблон local/templates/blog , именно в эту папку и будем копировать. Для шаблона компонента используем имя blog :
После копирования шаблона компонента, файл /blog/index.php был перезаписан:
Из папок шаблонов все удаляем, оставляем только файлы шаблонов и файлы стилей:
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/template.php
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/template.php
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/style.css
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/style.css
Шаблон списка новостей
Файл шаблона /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/template.php . Этот шаблон используется как для показа всех статей блога, так и для показа статей выбранного раздела инфоблока. Странно, но в шаблоне не предусмотрен вывод заголовков и вывод подразделов текущего раздела инфоблока. Давайте это исправим и создадим файл result_modifier.php :
Теперь можно заняться шаблоном списка статей блога:
Постраничная навигация
Чтобы кастомизировать постраничную навигацию, надо скопировать один из шаблонов системного компонента system.pagenavigation . Все содержимое папки modern копируем в папку pager :
Удаляем файл стилей style.min.css и создаем файл .description.php :
И теперь нам надо отредактировать файл template.php . Распечатаем массив $arResult с помощью функции print_r() :
В нашем случае показывается список из 11 статей, по две статьи на страницу. Всего получается 6 страниц, но на последней странице только одна статья.
- NavShowAlways — всегда показывать постраничную навигацию
- NavTitle — название списка элементов, например «Статьи» или «Новости»
- NavRecordCount — общее количество статей (записей)
- NavPageCount — общее количество страниц
- NavPageNomer — номер текущей страницы
- NavPageSize — количество статей на одну страницу
- bShowAll — разрешено или нет показывать ссылку «Все статьи»
- NavShowAll — равен true , если показываются все статьи, без постраничной навигации
- NavNum — номер постраничной навигации ( PAGEN_1 , PAGEN_2 , …)
- bDescPageNumbering — использовать или нет обратную постраничную навигацию
- nPageWindow — количество страниц, которые отображаются в постраничной навигации
- bSavePage — равна true если в главном модуле отмечена опция запоминать последнюю открытую страницу
- sUrlPath — путь к странице относительно корня
- NavQueryString — строка GET-параметров
- nStartPage — номер первой страницы слева для текущей страницы
- nEndPage — номер первой страница справа для текущей страницы
- NavFirstRecordShow — порядковый номер первой статьи на текущей странице
- NavLastRecordShow — порядковый номер последней статьи на текущей странице
По поводу переменной bSavePage :
По поводу переменных nStartPage и nEndPage . Если текущая страница — третья ( NavPageNomer=3 ), а показывается пять ссылок ( nPageWindow=5 ), тогда nStartPage=1 , а nEndPage=5 :
Если текущая страница — четвертая ( NavPageNomer=4 ), а показывается пять ссылок ( nPageWindow=5 ), тогда nStartPage=2 , а nEndPage=6 :
Шаблон готов, давайте его применим. Для этого заходим в настройки компонента и выбираем в выпадающем списке наш шаблон pager :
Теперь постраничная навигация выглядит так:
ЧПУ (SEF)
Идем в настройки компонента и выставляем значения:
- Каталог ЧПУ (относительно корня сайта): /blog/
- Страница общего списка: [пусто]
- Страница раздела: category/#SECTION_ID#/
- Страница детального просмотра: category/#SECTION_ID#/post/#ELEMENT_ID#/
Теперь URL будут иметь вид:
- Страница раздела блога: http://www.host.ru/blog/category/3/
- Страница просмотра статьи: http://www.host.ru/blog/category/3/post/12/
Еще один вариант — использовать символьные коды (транслитерация названия) разделов и элементов инфоблока:
- Каталог ЧПУ (относительно корня сайта): /blog/
- Страница общего списка: [пусто]
- Страница раздела: category/#SECTION_CODE#/
- Страница детального просмотра: category/#SECTION_CODE#/post/#ELEMENT_CODE#/
Теперь URL будут иметь вид:
Если категории блога имеют вложенность, можно использовать #SECTION_CODE_PATH# вместо #SECTION_CODE# :
Шаблон отдельной новости
Файл шаблона /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/template.php
И добавим стили для страницы детального просмотра:
Хлебные крошки
Для полноты картины не хватает еще хлебных крошек. Давайте откроем шаблон сайта local/templates/blog/header.php и добавим компонент «Навигационная цепочка»:
Выглядит неплохо, но есть лишний элемент «Блог». Это потому, что второй элемент цепочки — «Блог» — Битрикс добавляет из файла /blog/.section.php , а третий элемент — «Статьи о домашних животных» — добавляет комплексный компонент «Новости». Сейчас файл .section.php имеет вид:
Но хотелось бы еще подправить шаблон компонента «Навигационная цепочка». Создадим свой шаблон с именем chain в папке общего шаблона сайта .default :
Источник
Вывод новости детально
Сделал все как описано там,
1) Создал подраздел, назвал его news
2) После создания подраздела, в нем появился файл index.php , в который я положил компонент Список новостей (bitrix:news.list)
3)Создал в том же каталоге (news) файл detail.php в который положил компонент Новость детально (bitrix:news.detail) .
4)Далее добавил новость
В итоге, при клике на новость http://site.ru/news/detail.php?ID=367
получаю Элемент не найден!
Что не так?
Список новостей (bitrix:news.list)
Новость детально (bitrix:news.detail) .
Список новостей (bitrix:news.list)
«IBLOCK_ID» => $_REQUEST[«ID»],
. почему.
ну ок, допустим
Новость детально (bitrix:news.detail) .
«IBLOCK_ID» => «»,
«ELEMENT_ID» => $_REQUEST[«ELEMENT_ID»],
ИД инфоблока вообще не указали и разве ИД новости у вас в $_REQUEST[«ELEMENT_ID»]? Если вы передаете его просто в ID?
Список новостей (bitrix:news.list)
«IBLOCK_ID» => $_REQUEST[«ID»], заменил на «IBLOCK_ID» => $_REQUEST[«ELEMENT_ID»],
Новость детально (bitrix:news.detail) .
ИД инфоблока установил как: «IBLOCK_ID» => $_REQUEST[«ID»],
так же $_REQUEST[«ELEMENT_ID»] заменил на $_REQUEST[«ID»]
Но так же получаю Элемент не найден!
Опять я чтото не так намутил? Посмотрите плиз
Список новостей (bitrix:news.list)
Новость детально (bitrix:news.detail) .
Список новостей (bitrix:news.list)
1)»IBLOCK_ID» => $_REQUEST[«ELEMENT_ID»],
2) «IBLOCK_URL» => «index.php?ID=#IBLOCK_ID#»,
1 противоречит 2
Если приспичило брать ИД инфоблока из гет-параметра, то и параметр должен быть один и тот же? нет? в настройках самого инфоблока в админке — тоже.
Ну и переходить на список новостей придется по урлу /news/index.php?ID=5
Ну — надо так надо, я не спорю. Может, у вас 100 инфоблоков с новостями по разным тематикам, мало ли, не делать же ради этого 100 разделов физически.
Новость детально (bitrix:news.detail) .
Опять гет-параметр.
«IBLOCK_ID» => $_REQUEST[«ID»],
«ELEMENT_ID» => $_REQUEST[«ID»],
нет уж. если передаете айдишники в гет-параметры , то и передавайте нормально в параметры компонента названия переменных.
Источник
Про вывод новостей
Цитата |
---|
Алексей Монастырский пишет: в шаблоне можно выставить что угодно |
спасибо большое но я просил конкретики, например привести пример вывода одной предпоследней (по дате) новости
в стандартных настройках я не нашел как это реализовать
Цитата |
---|
eddy_embers пишет: проще всего выставить всем порядок сортировки, и на выводе поставить убывание\возрастание как нужно |
Цитата |
---|
Юлия Бедросова пишет: Попробуй открыть для редактирования шаблон вывода новостей. Там будет строка Можно заменить ее на что-то в этом духе |
Вот весь код шаблона news.list, скопированного в мой шаблон.
если меняю как Вы показали, страница не отображается вообще, наверное нужно закрывающий тег тоже поменять например на ?
Цитата |
---|
Юлия Бедросова пишет: конечно, закрывающий тег тоже надо менять, думаю на > — так как там я ее открыла |
заменил на — ошибка пропала но новости вообще не выводятся
продолжаем копать
Цитата |
---|
Юлия Бедросова пишет: Нашла решение: |
неа, в такой интерпретации выводит только первую (самую раннюю по дате) новость.
Вот исходные данные:
Инфоблок «Новости» (есть 5 групп новостей, но это неважно, их вывести я могу), в одной из групп есть 3 новости, датированные:
2 Октябрь 2008,
17 Август 2008,
8 Июль 2008
Сейчас выводятся все списком, последняя самая верхняя, в каждой выводятся: название, краткий анонс и фотография анонса.
То, что предложили Вы, уважаемая Юлия, выводит новость от 8 Июля 2008.
А хотелось бы чтобы выводилась новость от 17 августа (ну и любая другая, которая потом на ее место встанет при добавлении новых новостей).
А еще было бы здорово вывести все новости Без последней (т.е в данном случае без новости от 2 Октября 2008)
Вообще задача у меня такая, к чему я хочу все это реализовать: на одной странице выводить Новости в таком виде:
По центру крупно (заголовок, картинка анонса и анонс со ссылкой на делальную новость) — Последняя по дате новость,
Под ней в 2 столбца: — Предпоследняя новость с заголовком и анонсом без картинок — в левом столбце, ПредПредпоследняя новость с заголовком и анонсом без картинок — в правом столбце.
А совсем справа большой столбец — все остальные новости в виде только заголовков БЕЗ тех последних 3-х новостей, указанных выше.
Это моя основная задача. В принципе это реализуемо, как Вы считаете?
Если не понятно, я могу нарисовать в фотошопе картинку как бы хотелось.
Источник
Новость детально
Одностраничный компонент, осуществляющий вывод детального описание новости. Компонент стандартный и входит в дистрибутив модуля.
Описание news.detail
В визуальном редакторе компонент расположен по пути: Контент > Статьи и новости > Новость детально.
Компонент относится к модулю Информационные блоки.
Параметры
Поле | Параметр | Описание |
Основные параметры | ||
---|---|---|
Тип информационного блока (используется только для проверки) | IBLOCK_TYPE | Указывается один из созданных в системе типов информационного блока. |
Код информационного блока | IBLOCK_ID | Для выбранного типа инфоблока указывается идентификатор информационного блока, новости из которого будут выводиться. |
ID новости | ELEMENT_ID | Указывается числовой код, в котором передается идентификатор новости. Поле может быть оставлено пустым, если указан Код новости. |
Код новости | ELEMENT_CODE | Указывается символьный код новости, из которого будут выбраны новости. Поле может быть оставлено пустым, если указан ID новости. |
Источник данных | ||
Показывать только активные на данный момент элементы | CHECK_DATES | [Y|N] При отмеченной опции будут показаны только активные на данный момент элементы. |
Поля | FIELD_CODE | Указываются поля, которые будут отображены на странице. Заполняется из публичной части редактора, удерживая клавишу Ctrl, либо в коде, указывая массив: При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже (т.е. если задан пустой массив), на странице списка будут выведены поля по умолчанию. |
Свойства | PROPERTY_CODE | Указываются свойства, которые будут отображены на странице. Заполняется из публичной части редактора, удерживая клавишу Ctrl, либо в коде, указывая массив. При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже, на странице детального просмотра свойства не будут выведены. |
Шаблоны ссылок | ||
URL страницы просмотра списка элементов (по умолчанию — из настроек инфоблока) | IBLOCK_URL | Указывается адрес страницы просмотра списка элементов (по умолчанию — из настроек инфоблока). |
URL страницы детального просмотра (по умолчанию — из настроек инфоблока) | DETAIL_URL | Указывается адрес страницы детального просмотра элемента (по умолчанию — из настроек инфоблока). |
Управление режимом AJAX | ||
Включить режим AJAX | AJAX_MODE | [Y|N] При установленной опции для компонента будет включен режим AJAX. |
Включить прокрутку к началу компонента | AJAX_OPTION_JUMP | [Y|N] Если пользователь совершит AJAX-переход, то при установленой опции по окончании загрузки произойдет прокрутка к началу компонента. |
Включить подгрузку стилей | AJAX_OPTION_STYLE | [Y|N] Если параметр принимает значение «Y», то при совершении AJAX-переходов будет происходить подгрузка и обработка списка стилей, вызванных компонентом. |
Включить эмуляцию навигации браузера | AJAX_OPTION_HISTORY | [Y|N] Когда пользователь выполняет AJAX-переходы, то при включенной опции можно использовать кнопки браузера «Назад» и «Вперед». |
Дополнительные настройки | ||
Устанавливать заголовок страницы | SET_TITLE | [Y|N] При отмеченной опции в качестве заголовка страницы будет установлен заголовок элемента. |
Устанавливать канонический URL | SET_CANONICAL_URL | [Y|N] При отмеченной опции страница новости будет помечена как каноническая (т.е. будет считаться основной для поисковых систем среди ее дублей). |
Каноническая ссылка строится для основного раздела элемента, а если он не задан, то для раздела с наименьшим идентификатором.
Установить заголовок окна браузера из свойства | BROWSER_TITLE | Среди всех свойств, определенных для данного инфоблока, выбирается то, в котором содержится заголовок окна браузера. |
Установить ключевые слова страницы из свойства | META_KEYWORDS | Среди всех свойств, определенных для данного инфоблока, выбирается то, в котором содержатся ключевые слова. |
Установить описание страницы из свойства | META_DESCRIPTION | Среди всех свойств, определенных для данного инфоблока, выбирается то, в котором содержится описание. |
Группы пользователей, имеющие доступ к детальной информации | GROUP_PERMISSIONS | Указываются группы пользователей, имеющие доступ к детальной информации. |
будет ограничен доступ к детальной информации.
Если опцию не отмечать, то нужный элемент будет показан в любом случае.
Не раскрывать панель соц. закладок по умолчанию* | SHARE_HIDE | [Y|N] При отмеченной опции список социальных сетей будет свернут под общим значком. |
Шаблон компонента панели соц. закладок* | SHARE_TEMPLATE | Указывается имя шаблона, если используется несистемный шаблон. |
Используемые соц. закладки и сети* | SHARE_HANDLERS | Задается перечень используемых соц. закладок и сетей. |
Логин для bit.ly* | SHARE_SHORTEN_URL_LOGIN | Логин для сервиса сокращений. |
Ключ для для bit.ly* | SHARE_SHORTEN_URL_KEY | Пароль для сервиса сокращений. |
- A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
- Y — Кешировать: для кеширования необходимо определить время кеширования;
- N — Не кешировать: кеширования нет в любом случае.
Url для построения ссылок (по умолчанию — автоматически) | PAGER_BASE_LINK | Задается адрес для построения ссылок. Если в параметре ничего не указывать, то адрес будет построен автоматически. |
Имя массива с переменными для построения ссылок в постраничной навигации | PAGER_PARAMS_NAME | Задается имя переменной, в которой передается массив с переменными для построения ссылок компонентом постраничной навигации. |
Страница для показа (по умолчанию /404.php) | FILE_404 | Задается адрес страницы, которая будет отображаться при возникновении ошибки 404. |
в случае возникновения ошибки 404, в противном случае — будет отображено специальное сообщение. Станет активным поле:
Сообщение для показа (по умолчанию из компонента) | MESSAGE_404 | Задается сообщение, которое будет показано в случае возникновения ошибки 404. Если ничего не указывать, то будет использоваться стандартное сообщение из компонента. |
Пример вызова
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Источник