Навигация

Активные участники:

Поиск:

 

Создать или найти статью:

 

Просмотр Создаем Софт каталог с ExpressionEngine

Самое главное во всем, это понять что ты хочешь сделать и для кого. Т.е. поставить задачу, дальше будет проще.
Здесь я поставил задачу – сделать сайт, в котором будут публиковаться новости софта и игр, все предельно просто, не так ли?

Для этого нам потребуется шаблон сайта. Сайтов с шаблонами куча, берем любой, прикинув предварительно подойдет ли он нам. Сколько в нем колонок и чтобы мы в эти колонки поместили. У меня будет все стандартно: шапка, нижняя часть, основное окно и правый бок. Примитивно так, рисуем схему расположения.

templ_thumb.jpg width=440 height=352

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

Дальше скачиваем ExpressionEngine. Найти его не сложно, просто в яндексе набираете ExpressionEngine, переходите по ссылке и скачиваете. Далее устанавливаете, более подробно процесс установки расписан в переведенной документации от eeclub.ru.

Настраиваем движок.


Определяемся с категориями.
Я выбрал для себя следующие категории: Мультимедиа, Интернет, Общение, Графика и дизайн, Безопасность, Бизнес, Утилиты, Работа с текстом, Диски и файлы, Драйвера, Игры, Наш выбор.

Определяемся с полями (Admin › Weblog Administration › Field Groups › Custom Fields)
fields_thumb.jpg width=440 height=174

Краткое описание (summary), Описание (body), Статус программы (stat), Стоимость (cost), Ссылки для закачки (download), Разработчик (developer), Сайт разработчика (devsite), Интерфейс (interface), Система (system), Скриншот программы (screen).

Определяемся с категориями (Admin › Weblog Administration › Category Groups)
categ.jpg width=320 height=485

На картинке показан список созданных категорий и их id.

Для данного сайта мне понадобятся следующие модули, не входящие в стандартную комплектацию движка:
User – для создания пользовательских профилей.
Favorites – для оценки пользователями новостей других участников.
LG Social Bookmarks – для добавления на сайт социальных закладок.
Tag – для создания облака тэгов на сайте, тэгов к новостям и связанных новостей.
Все эти модули можно без труда найти на сайте eeclub.ru.

Плагинов и расширений мне будет достаточно стандартных.


Занимаемся шаблонами. У нас будет как минимум две группы шаблонов (можно сделать сколько угодно, но нужно ли это?)

Группа site
Для главной страницы нам потребуется - index
Для страницы полного описания программы - news (article или др., в зависимости от статуса новости, об этом позже)
Группа panel
Страница профиля участника - who
Личные данные - me
Список новостей пользователя – only

Шаблон index у меня будет иметь список новостей с кратким описанием и со ссылкой на полное описание новости.
Т.к. у нас сайт многопользовательский, то я решил, что в ссылке обязательно должно упоминаться имя участника, которому принадлежит данная новость. Я приведу лишь кусочек кода из которого думаю все будет понятно:

{exp:weblog:entries status="open|news|article" weblog="{my_weblog}" orderby="date" 
sort="desc" limit="13" disable="member_data|trackbacks"}
<a href="{homepage}site/{status}/{username}/{url_title}">{title}</a>
{/exp:weblog:entries} 

А теперь конечно же все объясню:
status="open|news|article" – позволяет выводить на странице новости со статусами open, news, article;
orderby="date" sort="desc" - сортирует новости по дате добавления, новые вверху;
Разбираем по частям ссылку href="{homepage}site/{status}/{username}/{url_title}"
{homepage} – здесь будет ссылка на сайт вида http://somesite.com
site – группа шаблонов;
{status} – указанный вами статус новости, а заодно и название шаблона для новости, это я делаю для того, чтобы разделить новости софта от статей (у которых статус article)
{username} – имя пльзователя;
{url_title} – название новости или ее транслитерация (вида kak_opredelit_neobhodimoe)
Тем самым, мы получаем ссылку на новость:
http://somesite.com/site/news/Vasya/kak_opredelit_neobhodimoe

Шаблон news показывает нам полное описание и дополнительные поля, которые мы создали на начальном этапе.

Начнем, так сказать, сверху.
<title>{exp:weblog:entries status=&quot;open|news&quoturl_title=&quot;{segment_4}&quot;
disable=&quot;trackbacks|pagination|member_data|custom_fields&quot;}{title} › 
{categories backspace
=&quot;1&quot;}{category_name}{/categories} › {weblog}
{
/exp:weblog:entries}</title


Здесь
status="open|news" – определяется статус новости, которую показывать;
url_title="{segment_4}" – считывается содержание segment_4, и, соответственно идентифицируется новость, в нашем случае это kak_opredelit_neobhodimoe;
disable="trackbacks|pagination|member_data|custom_fields" – отключаем ненужную информацию, которую мы не выводим тут;
{title} – непосредственно заголовок новости
{categories backspace="1"}{category_name}, {/categories} – категория новости (указывается при публикации новости);
{weblog} – название нашего веблога.

В итоге, заголовок (тайтл) странички показывает нам следующее:
«Как определить необходимое › Графика и дизайн › Наш веблог»

Идем ниже, к самому содержанию новости. Сразу скажу, что я не буду акцентировать ваше внимание на том, куда, как и что вынести (дата, дополнительные поля, и прочие элементы), в конце концов это дело каждого, благо движок это позволяет с легкостью сделать. Скажу лишь о главных вещах. Код будет имеет следующий вид:
{exp:weblog:entries status="open|news" url_title="{segment_4}" weblog="{my_weblog}" 
limit="1" disable="member_data|trackbacks|pagination" track_views="one"}
{title}
{summary}
Разработчик
: <a href="{devsite}">{if developer ==""}home page{if:else}{developer}{/if}</a>
И дрполя…
{
/exp:weblog:entries} 


Поясню.
status="open|news" – отображается статья, имеющая указанный статус;
url_title="{segment_4}" - считывается содержание segment_4, и, соответственно идентифицируется новость, в нашем случае это kak_opredelit_neobhodimoe;
weblog="nash_weblog" – веблог, который мы создали, по-умолчанию «default_site»;
limit="1" – показывается только одна новость, хотя больше новостей с таким же segment_4 и не может быть :);
track_views="one" –счетчик переходов;
{title} – заголовок, в нашем случае «Как определить необходимое»;
{summary} – краткое описание;
Со ссылкой на разработчика мы применим маленькую хитрость. Кратко говоря, мы проверяем, заполнено ли поле developer (разработчик). Если оно пусто (т.е. не заполнено, мало ли, забыли) то подставляется текст «home page».

Далее выводи тэги с помощью модуля Tags, букмарки – с помощью LG Social Bookmarks (Ru) и «Одобрение новости» - с помощью модуля Favorites.
C группой шаблонов site вроде как закончено. Приступим к профилю участника, группа шаблонов panel.

Продолжаем настраивать шаблоны
Шаблон who предназначен для просмотра профиля участника.
Использую модуль User мы прописываем в заголовке страницы следующее

<title>{exp:user:stats username="{segment_3}" exclude="location"} {screen_name}{/exp:user:stats} › Сайт.ру</title>

Здесь идет чтение segment_3, в котором как раз расположен screen_name, т.е.
http://somesite.com/panel/who/Monkey/
{screen_name} – имя пользователя;

Далее содержание страницы строится на основе плагина User и не требует каких-либо хитростей. Единственное на чем следует заострить внимание, это то, что идет считывание segment_3.

Шаблон only показывает на новости выбранного пользователя.
Имея ссылку http://somesite.com/panel/only/Monkey
Мы опять даем команду движку считать информацию в segment_3. В этом segment_3 содержится screen_name пользователя, соответственно: какое имя пользователя-такие новости и показываем.
{exp:weblog:entries status="open|news|article" weblog="default_site" 
username="{segment_3}" orderby="date" sort="desc" limit="13" 
disable="member_data|trackbacks"}
{title}
{summary}

и другие поля…
<br/>
{/exp:weblog:entries} 


Здесь:
username="{segment_3}" – чьи новости будем показывать;
status="|news|article" – статусы новостей, которые собираемся показывать;
{title} - заголовок
{summary} – краткое описание

Настройки шабонов произведены, нам остается только добавлять новости и приглашать участников на сайт. Софт – это всего лишь пример. Вы можете организовать свое комьюнити по своим интересам. Все, что для этого нужно – это ExpressionEngine, хорошие помошники из EEClubb.ru и свои мозги ?

Пример сайта, о котором шла речь: www.qrat.ru.


Категория:Советы

Категории: