Делаем и выводим новости на сайте
Прислано: Gukov Yor
вс, 04/10/2009 - 15:30
Опишу способ создания и вывод Новостей - 101 урок. :)
Для этого потребуются установленные и включенные модули:
- CCK - Модулем делаем новый типы материала. В нашем случае «Новость»
— Главная › Управление › Содержание › Типы материалов
— admin/content/types/list - Pathauto - Модулем делаем ссылки на материал более читаемые, типа ...ru/news/pervaya_novost .
(По желанию, В придачу к нему поставил:Transliteration - для транслитерации ссылок)
— Главная › Управление › Конструкция сайта › Синонимы
— admin/build/path/list - Views - Модулем делаем вывод страницы с новостями, и блок последних.
— Главная › Управление › Конструкция сайта › Представления
— admin/build/views/list
Установил! Начнем...
-
Первый шаг. Создание нового типа материала.
— Главная › Управление › Содержание › Типы материалов › Добавить тип содержимого
— admin/content/types/addИмя:Новость
Тип:news
Дальше по желанию:
Описание: Новости сайта ....
Процесс:
Настройки по умолчанию:
+ Опубликовано
+ Помещать на главную
... »Сохранить тип содержимого -
Второй шаг. Настройка Синонимов.
— Главная › Управление › Конструкция сайта › Синонимы › Настройки автоматических синонимов
— admin/build/path/pathauto› Настройки адреса материала
Шаблон для всех адресов материалов типа Новость:[type]/[title-raw]
[type]/[title-raw] - что это? В первом шаге мы уже указали как будет он называться — Тип:news. [type]- это и есть та переменная которая заменит имя ссылки на news. [title-raw]- заголовок материала, если первую новость мы назовём «Первая новость» то в оконцовке мы получим ожидаемый результат вот такой ...ru/news/piervaia_novost, напомню, модуль:Transliteration - установлен и подключен
... »Сохранить настройки -
Третий шаг. Создадим первую новость
— Главная › Создать материал › Новость
— node/add/newsЗаголовок:Первая новость
Содержимое:Текст содержимого моей Первой новости
Дальше по желанию:
Настройки публикации:
+ Опубликовано
+ Помещать на главную
... »Сохранить
С первой частью справились, теперь пользователь или гость (Права настраиваются: — Главная › Управление › Управление пользователями › Разрешения / — admin/user/permissions), может публиковать свои новости на сайт.
Осталось, вывести весь новостной материал на страницу «Новости» (...ru/news), и вывод в блоке. Тут посложнее, так-как возможно различие в переводах, покажу на картинках.
Приступим....
Views - Модулем делаем вывод страницы с новостями, и блок последних.
— Главная › Управление › Конструкция сайта › Представления
— admin/build/views/list
- 4.Четвёртый шаг.Добавим новое представление - Страница
... »Добавить(admin/build/views/add)
Имя:news
Описание:Новость
Тип:Материал
... »Далее
Вот что получилось:

* На картинке Новости уже сделаны.
** Перевод возможно отличается от вашего.
Объясните мне, пожалуйста, почему при изменении настроек представления "Блок" значения настроек представления "Страница" принимают те же значения и наоборот???
Представления:
Defaults Тут настройки по умолчанию для этого преставления.
Т.е. для Page(Страница) и Blok(Блок) в нашем случае Заголовок:... (или другое) примет значение от Defaults

Для индивидуального вь|вода надо в режиме редактирования заголовка (Page в моём случае) переопределить, или обновить по умолчанию то есть для всех.

продолжим....
Слева в столбике выберем Страница(мастерим сейчас вывод новостей на страницы сайта) и жмём Добавить вывод.
- Основные настройки
Имя: Страница (Можно переписать как Страница новости, этот параметр чисто для вашего удобства)
Заголовок: Новости (Заголовок страницы)
Стиль: Без форматирования
Стиль строки: Материал (при этом поля - недоступны)
Использовать AJAX: Нет
Постранично: Да
Items per page: 10 (отображать по 10 новостей на странице)
Уникальность: Нет
Доступ: Multiple roles (доступ к представлению - просмотр)
Exposed form in block: Нет
Заголовок: Нет
Подвал: Нет
Пустой текст(выводится при пустом представлении): Нет
Тема оформления: Информация
- Настройки страницы
Путь: news (путь вывода представления (...ru/news))
Меню: Normal: Ново... (заголовок в меню Новости)
- Критерии сортировки
Материал: Дата создания убыв. (сортировка по убыванию - новые вверху)
Материал: Закреплен (сортировка по убыванию, закрепленный материал вверху)
- Фильтры
Материал: Тип = Новость (вывод только этот тип)
... »СОХРАНИТЬ
- 5.Пятый шаг.Добавим новое представление - Блок
Слева в столбике выберем Блок(мастерим сейчас вывод заголовка новостей в блок на страницы сайта) и жмём Добавить вывод.
Метод почти ничем не отличается от вывода страницы, только тем, что выводим только заголовок новости (т.е. используем поле).

- Основные настройки
Имя: Блок (Можно переписать как Блок новости, этот параметр чисто для вашего удобства)
Заголовок: Последние Новости (Заголовок страницы)
Стиль: Без форматирования
Стиль строки: HTML List (при этом поля - доступны)
Использовать AJAX: Нет
Постранично: Нет
Items per page: 10 (отображать по 10 заголовков новостей в блоке)
Уникальность: Нет
Доступ: Multiple roles (доступ к представлению - просмотр)
Exposed form in block: Нет
Заголовок: Нет
Подвал: Нет
Пустой текст(выводится при пустом представлении): Нет
Тема оформления: Информация
- Поля
Материал: Заголовок (что нам и надо)
- Критерии сортировки
Материал: Дата создания убыв. (сортировка по убыванию - новые вверху)
- Фильтры
Материал: Тип = Новость (вывод только этот тип)
... »СОХРАНИТЬ
Ваша новость готова и можно посмотреть ...ru/news
Блок для вывода настраиваем на странице блоков
Вот вроде и всё :)
| Прикрепленный файл | Размер |
|---|---|
| 11.jpg | 71.53 кб |
| 22.jpg | 56.53 кб |
| i.jpg | 6.1 кб |
Register or login to poll
Results:
да +1: 23 голоса
нет -1: 10 голосов
- Gukov Yor's blog
- Для комментирования войдите или зарегистрируйтесь
А для чего в топике написано что нужен ССК, если вы его не используете?
- Для комментирования войдите или зарегистрируйтесь
А для чего в топике написано что нужен ССК, если вы его не используете?
CCK - Модулем делаем новый тип материала. В нашем случае «Новость»
- Для комментирования войдите или зарегистрируйтесь
Новый тип материала "Новость" можно создать и без ССК, я не заметил чтобы в тип материала "Новость" кто-то добавлял поля
- Для комментирования войдите или зарегистрируйтесь
Сделаю "новости и их вывод" без доп. модулей. Кто меньше? :)
- Для комментирования войдите или зарегистрируйтесь
Ну конечно можно, но если есть всё для этих целей зачем мудрить?
- Для комментирования войдите или зарегистрируйтесь
Таксономия + тип материала "Новости" наше всё
- Для комментирования войдите или зарегистрируйтесь
Опишу способ создания и вывод Новостей - 101 урок. :)
Если можно, где остальные 100 уроков?
- Для комментирования войдите или зарегистрируйтесь
Опишу способ создания и вывод Новостей - 101 урок. :)
Если можно, где остальные 100 уроков?
Пользуйтесь поиском :)
- Для комментирования войдите или зарегистрируйтесь
Объясните мне, пожалуйста, почему при изменении настроек представления "Блок" значения настроек представления "Страница" принимают те же значения и наоборот???
Например, при изменении заголовка или стиля
- Для комментирования войдите или зарегистрируйтесь
Представления:
Defaults Тут настройки по умолчанию для этого преставления.
Т.е. для Page(Страница) и Blok(Блок) в нашем случае Заголовок:... (или другое) примет значение от Defaults

Для индивидуального вь|вода надо в режиме редактирования заголовка (Page в моём случае) переопределить, или обновить по умолчанию то есть для всех.

- Для комментирования войдите или зарегистрируйтесь
Все сделал так. Вроде работает. Только одно "но". После нажатия сохранить в коментариях к новости открывается пустая страница с адресом: http://название_сайта/comment/reply/8
???
- Для комментирования войдите или зарегистрируйтесь
Спасибо за хороший материал! Очень полезно.
Возникло несколько вопросов:
1. Что тут делает модуль Transliteration? Все описанное работает и без него, только средствами правильно настроенного Pathauto. Или я не прав?
2. Когда создаем новую новость там в настройках есть галочка "закреплять поверх списков". При данном подходе она не работает, что нужно поменять во views чтобы заработала? Что то торможу я...
- Для комментирования войдите или зарегистрируйтесь
1. Что тут делает модуль Transliteration? Все описанное работает и без него, только средствами правильно настроенного Pathauto. Или я не прав?
Возможно работает, у меня без него путь писался но русскому (http://sait,ru/news/заголовок) может что сам упустил.
Когда создаем новую новость там в настройках есть галочка "закреплять поверх списков". При данном подходе она не работает, что нужно поменять во views чтобы заработала?
хм, и точно :( думаю решаемо, отпишу.
- Для комментирования войдите или зарегистрируйтесь
Все сделал так. Вроде работает. Только одно "но". После нажатия сохранить в коментариях к новости открывается пустая страница с адресом: http://название_сайта/comment/reply/8
???
Даже не знаю чем помочь, смотрите в логах сайта, возможно не хватает памяти.
У вас классический случай "белой страницы смерти". http://drupal.org/node/158043
Причин может быть несколько, самая распространенная - не хватает памяти.
- Для комментирования войдите или зарегистрируйтесь
Когда создаем новую новость там в настройках есть галочка "закреплять поверх списков". При данном подходе она не работает, что нужно поменять во views чтобы заработала?
хм, и точно :( думаю решаемо, отпишу.
Сам разобрался :)
В критерии сортировки добавляем еще один критерий "Материал закреплен" сортировку ставим по убыванию (именно это меня и сбивало с толку, так и не понял почему сортировка должна быть по убыванию) и ставим его первым в списке перед "Материал дата создания". Вроде все работает.
Теперь возник вопрос, Если добавлять новости могут две роли, как сделать так, чтобы одна из них могла закреплять свою новость вверху списка, а другая нет?
- Для комментирования войдите или зарегистрируйтесь
Сам разобрался :)
В критерии сортировки добавляем еще один критерий "Материал закреплен" сортировку ставим по убыванию (именно это меня и сбивало с толку, так и не понял почему сортировка должна быть по убыванию) и ставим его первым в списке перед "Материал дата создания". Вроде все работает.
Решено! обновил, спасибо.
Теперь возник вопрос, Если добавлять новости могут две роли, как сделать так, чтобы одна из них могла закреплять свою новость вверху списка, а другая нет?
До такого еще не додумался, возможно переписать в template.php
- Для комментирования войдите или зарегистрируйтесь
Какой template.php, вы что? Это пермишенами решается
- Для комментирования войдите или зарегистрируйтесь
Какой template.php, вы что? Это пермишенами решается
А можно поподробнее?
Заранее спасибо!
- Для комментирования войдите или зарегистрируйтесь
правами доступа имеется в виду
- Для комментирования войдите или зарегистрируйтесь
С этим тоже разобрался.
Видимо остался последний вопрос, как дизайном выделить закрепленные поверх списка новости от других?
- Для комментирования войдите или зарегистрируйтесь
не поверите, css
там должен быть класс sticky кажется
- Для комментирования войдите или зарегистрируйтесь
написал(а):
Все сделал так. Вроде работает. Только одно "но". После нажатия сохранить в коментариях к новости открывается пустая страница с адресом: http://название_сайта/comment/reply/8
???
Даже не знаю чем помочь, смотрите в логах сайта, возможно не хватает памяти.
Вроде разобрались, оказалось причина в модуле akismet, дословный текст ошибки:
Fatal error: Call to undefined function drupal_submit_form() in /www/имя_сайта/www/htdocs/sites/all/modules/akismet/akismet.module on line 707
Пока что решил вопрос простым отключением модуля )) дальше видно будет
Спасибо за помощь!
- Для комментирования войдите или зарегистрируйтесь
немного повозился но получилось, у меня не русская версия вьювера=)
я еще сделал "все новости" линк в блоке и "далее" к каждой новости
Спасибо!=)
- Для комментирования войдите или зарегистрируйтесь
со второго раза получилось. первый раз не пошло из-за Defaults: одни и те же настройки делались там где это не надо, но прочитав статью и комментарии повнимательнее поняла в чем проблема. теперь вроде все работает)) осложнялось все тем, что стоит нерусский вьювер и нет модулей ССК, Pathauto Transliteration (пока не востребованы в работе)
спасибо за подробную статью. все четко и понятно!
- Для комментирования войдите или зарегистрируйтесь
Как настроить Breadcrumb, чтобы линейка выводилась вида: Главная --> news --> Название материала? Сейчас выводится Главная --> Название материала, т.е. нет ссылки на страницу news в линейке.
- Для комментирования войдите или зарегистрируйтесь
Comparison of Breadcrumb Customizing modules
- Для комментирования войдите или зарегистрируйтесь
Спасибо за гайд, но у меня не все получилось...
В модуле views при настройке "страницы" не нашел таких настроек как "Настройки страницы : путь, меню". На скриншотах есть, а у меня нет.
Views для версии 6.х
В чем может быть проблема?
- Для комментирования войдите или зарегистрируйтесь
хм... такого еще не встречал, по идеи у страницы обязательно должен быть путь, зачем тогда модуль? Возможно блок был переименован в "Страница" (в основных настройках).
- Для комментирования войдите или зарегистрируйтесь
Все разобрался.. все гуд) Мой бок был, сорри
- Для комментирования войдите или зарегистрируйтесь
Прошу помощи.
Делаю, как тут написано, создаю новый View, тип оставляю по умолчанию - материал. НО на следующей странице тип превращается в Fields и поменять его нет никакой возможности.
Drupal 6.19, Views 2.11
Подскажите, это я что-то не правильно делаю или ошибка в модуле.
- Для комментирования войдите или зарегистрируйтесь
создаю новый View, тип оставляю по умолчанию - материал. НО на следующей странице тип превращается в Fields и поменять его нет никакой возможности.
Скриншот можно глянуть?! не понимаю причём тут Fields
- Для комментирования войдите или зарегистрируйтесь
Вот что получается


- Для комментирования войдите или зарегистрируйтесь
Попробуйте
# Page settings
Путь: news (путь вывода представления (...ru/news))
- Для комментирования войдите или зарегистрируйтесь
Дак а какая связь то?
- Для комментирования войдите или зарегистрируйтесь
Должно появиться сообщение об ошибке
* Отображение "По умолчанию" использует поля, но не одно поле не определено для него, или все они исключены.
* Отображение "Страница" использует путь, но путь не определен.
дальше посмотрим.
- Для комментирования войдите или зарегистрируйтесь
Да, так и есть, эти ошибки
- Для комментирования войдите или зарегистрируйтесь
вот тут

- Для комментирования войдите или зарегистрируйтесь
Ну вот сразу и надо писать про ошибки если есть таковы, Написано - Вывод по умолчанию "Дефолтный" использует Поля, но они нигде не задействованы. Fields(поля) так и надо вывести хоть одно поле для отображения, так как Row style в вашем случае отображает Fields
5.Пятый шаг.Добавим новое представление - Блок тут с полями будет понятнее.
- Для комментирования войдите или зарегистрируйтесь
Да при чем тут Блок?
Сразу при создании нового вьювса стиль сразу заменяется на Fields и его нельзя поменять ни для Дефаульта, ни для страницы, ни для блока. Если создать сразу представления Страница и Блок, то и в них тоже невозможно оверридить это значение на Материал. Всегда стоит Fields
А вопрос был в следующем: есть ли возможность у кого-нибудь изменить Тип строки (Row style) со значения Fields на Материал в комплекте Drupal 6.19 + Views 2.11
- Для комментирования войдите или зарегистрируйтесь
А вопрос был в следующем: есть ли возможность у кого-нибудь изменить Тип строки (Row style) со значения Fields на Материал в комплекте Drupal 6.19 + Views 2.11
Drupal 6.19 + Views 6.x-3.0-alpha3 и до этого всё нормально. Помочь могу только онлайн, логин и пароль в личку зайду гляну.
- Для комментирования войдите или зарегистрируйтесь
Теперь понятно. Глюк в проге.
На самом деле и полями вполне можно обойтись. Гибче настройка будет. Просто удивило, что не работает, как на вашей картинке. Хотя, для друпала это характерно. То там, то здесь обязательно какой-нибудь косяк... особенно в релизах. Так и здесь - только дев версия робит. Чтобы комфортно чувствовать себя на друпале, нужно быть программистом по квалификации и линуксоидом по религии.
А за ответ спасибо.
- Для комментирования войдите или зарегистрируйтесь
Подскажите пожалуйста, что тут не так?(
- Для комментирования войдите или зарегистрируйтесь
первые 2 ошибки ушли, что не так в "Display "Страница" uses a path but the path is undefined."?
- Для комментирования войдите или зарегистрируйтесь
все пашет, только подскажите пожалуйста, как сделать так что бы в блоке отображались не только заголовки, но ссылка была на материал?
- Для комментирования войдите или зарегистрируйтесь
В свойствах поля смотрите Связать это поле с его материалом, отметьте.
- Для комментирования войдите или зарегистрируйтесь
что именно из этого выбрать?
- Для комментирования войдите или зарегистрируйтесь
что именно из этого выбрать?
Вам надо добавить новое поле
Материал: Заголовок
В свойсвах этого поля есть галочка «Связать это поле с материалом». Отметив заголовок превратится в ссылку на материал.
- Для комментирования войдите или зарегистрируйтесь
А можно аватару новости добавить? И как? Спасибо.
- Для комментирования войдите или зарегистрируйтесь
А можно аватару новости добавить?
Конечно можно.
Предположу что "аватару" это прикрепленное изображение? опишите точнее!
- Для комментирования войдите или зарегистрируйтесь
Простите за столь долгое отсутствие, если это возможно, то опишите как добавить прикрепленное изображение к новости, так чтобы изображение было видно только в списке новостей, т.е. слева от "Опубликовано" и заголовка новости. Заранее огромное спасибо!
- Для комментирования войдите или зарегистрируйтесь









Комментарии