- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Выпуск очередной версии diafan.CMS 4.3 запланирован на 1 октября 2010 года. Сейчас версия находится на стадии внутреннего альфа-тестирования. 10 сентября мы стартуем открытое бета-тестирование, в котором может принять участие любой! Для этого обратитесь в техподдержку из личного кабинета.
Что ждать от diafan.CMS 4.3?
1. Категории
Мы изменили логику деления модулей на разделы. Раньше у нас были модули, которые группировались с помощью собственной таблицы категорий. Так работали модули «Магазин», «Фотогалерея» и «Файловый архив». Эти модули можно было прикрепить лишь к одной странице сайта. Другие модули («Новости», «Статьи», «Впрос-Ответ») группировались с помощью модуля «Страницы сайта».
Теперь мы применили эти два метода для всех контентных модулей. Например, модуль Магазин теперь можно прикрепить к нескольким страницам или модуль Новости можно разделить на категории с помощью категорий новостей и с помощью страниц сайта. Мы оставили за пользователем право выбора удобного для него способа.
Этот функционал оказывается очень удобным, если вспомнить о возможности по-разному конфигурировать модуль для разных страниц сайта (такая возможность добавлена в 4.2).
Кроме того, мы доработали деление на категории. Теперь любой элемент (новости, товар, статья и пр.) можно добавить в несколько категорий, одна из которых будет основная (чтобы корректно формировать навигацию «Хлебные крошки», ЧПУ страницы и по другим причинам).
2. ЧПУ
Теперь ЧПУ можно присваивать любому элементу сайта: товару, новости, тегу, статье, категории товара, категории файлового архива и пр.
По умолчанию адрес страницы генерируется по старой схеме (проиндексированные страницы не пострадают, если Вы перейдете на новую версию).
Но автоматически генерируются ЧПУ только для страниц сайта, по прежнему.
3. Модуль форума
По многочисленным просьбам мы разработали новый модуль «Форум» и включили его в пакет 4.3.
4. Заголовок страницы
Мы добавили дополнительное поле для всех контентных модулей и элементов «тэг Title». Если поле не заполнено, то заголовок генерируется по старой стандартной схеме: Название элемента — Название страницы — Название сайта. Но теперь конфигурировать титл можно вообще свободно абсолютно для любого УРЛа.
5. Перелинковка страниц, статей, новостей и т. д.
Перелинковка — теперь еще удобнее автоматизировать перелинковку!
Автоматическая перелинковка для любых объектов сайта выводится с помощью нового шаблонного тега show_previous_next:
<insert name="show_previous_next">
Перелинковка остальних элементов (статей, новостей, фотографий, файлов, товаров, вопросов и ответов, категорий) выводится в шаблоне модуля (например, для новостей это файл modules/news/news.view.php).
6. Шаблонные теги
Мы изменили названия большинства шаблонных тегов модулей. Мы заметили, что в таких тегах как <insert name="show_news_block" module="news"> часто пропускают атрибут module, потому что в названии функции есть прямое указание на модуль. Чтобы решить эту проблему, мы назвали все подобные функции show_block. Также поступили с похожими функциями: show_calendar, show_catalog, show_search.
В связи с новой логикой деления модулей на категории, почти все шаблонные теги модулей приобрели атрибут site_id, который позволяет прикрепить контент определенной страницы. Для единообразия названий атрибут catid был преобразован в cat_id. В шаблонных тегах show_block модулей Магазин, Фотогалерея и Файловый архив атрибут sort теперь имеет значения rand, date, price (только для магазина).
В 4.3 добавлен новый шаблонный тег show_form в модулях Обратная связь и Вопрос-Ответ. Он выводит форму добавления сообщения.
7. jQuery
Мы добавили поддержку jQuery, переработав все функции и работу с технологией Ajax.
8. Магазин
В новой версии изменилась логика работы зависимых характеристик. Появился новый тип характеристик — список с выбором нескольких значений. Все характеристики этого типа могут влиять на цену. Для одного товара можно выбрать только одну характеристику.
Характеристики теперь можно подключать к нескольким разным категориям. Если характеристика не подключена ни к одной категории, то она считается общей.
Еще дополнительные характеристики выводятся теперь не только в карточке товара, но и в списке товаров и в шаблонном теги. Это определяется при редактировании характеристики.
Мы добавили дополнительный шаблон для кнопки «Купить». Он выводит несколько кнопок «Купить» для каждого варианта товара. Чтобы использовать шаблон, переименуйте фунцию form_ (строка 489) в form, а функцию form (строка 335) в form_ в файле modules/shop/shop.view.php.
Теперь по желанию Вы можете настроить магазин так, чтобы выгружать в Яндекс.Маркет только избранные товары.
9. Дополнительные возможности модулей
Мы расширили возможности модулей, добавив в них краткое описание для элеметнов (товаров, файлов, фотографий) и категорий.
Файловый архив получил возможность загружать файлы не только с компьютера администратора, но и из удаленного места.
Опросы приобрели кнопку «Результаты».
10. Работа с изображениями
Для изображений, прикрепляемых к элементам теперь можно задавать атрибуты alt и title. Кроме того появилась сортировка изображений. И еще теперь не нужно сохранять новый элемент для того, чтобы добавить к нему изображения.
11. Новый визуальный редактор TinyMCE
12. Администрирование
Мы поработали над юзабилити административной части CMS. Теперь управлять сайтом стало еще удобнее.
Велкам! Цена и условия прежние! :)
отличная новость. респект
хотелось бы чтобы в анонсе было ограничение по тексту! или ограничение текста по высоте, если такое вообще возможно!
хотелось бы чтобы в анонсе было ограничение по тексту! или ограничение текста по высоте, если такое вообще возможно!
В каком анонсе? Где? В разрабатываемом сайте? Очень даже можно и по высоте ограничивать вывод анонса! Только ЦМС тут не причем, это стилями делается: div style="height:100px; overflow:hidden" ;)
diafan добавил 24.09.2010 в 19:32
Кстати, у нас новый интерфейс http://user.diafan.ru/ ;)
Прошу давать замечания и комментировать :)
Жду новую версию, и покупаю:)
Уважаемые Господа. Данная заметка относится в первую очередь к людям, которые мало знакомы с программированием. Как вы уже убедились функционал данного движка - выше всяких похвал ☝, а грамотно прописанные скрипты дают движку прекрасную гибкость, как, непосредственно, для использования движка "как есть", так и для модернизации самих модулей.
И так задача - создание полнофункционального магазина на базе diafan CMS 4.2.4. Если мы зайдем на страницу конкретного товара в конкретной категории, то увидим такую картинку:
В принципе так все можно и оставить, но как то хотелось бы по красивее. Для этого нам потребуется немного "подпилить " движок.
Шаг 1
Открываем скрипт modules/shop/shop.view.php и находим в нем фукцию:
...
public function show_id_module($row)
{
echo '
<div class="shop-id">'
//рейтинг товара
.$row["show-rating"]
//форма оценки товара
.$row["add-rating"]
.(!empty($row["price"])?'<div class="shop-price">'._LANG_PRICE.': <span class="shop-price-value">'.$row["price"].'</span></div>':'');
self::show_form_module($row["id"],$row["depend"],$row["do_load"]);
if(!empty($row["param"]))
{
foreach($row["param"] as $k=>$v)
{
echo '
<div class="shop-param">'.$k.($v?': <span class="shop-param-value">'.$v.'</span>':'')."</div>\n";
}
}
echo '
<div class="shop-text">'.$row["text"].'</div>
<div class="shop-all-img">'.$row["img"].'</div>'
.(!empty($row["tags"])?$row["tags"]:'').'
</div>';
echo (!empty($row["comments"])?$row["comments"]:'');
}
...
Именно она отвечает за вывод конкретного товара в конкретной категории и меняем его следующим образом:
...
public function show_id_module($row)
{
echo '
<div class="shop-id">'
//рейтинг товара
.$row["show-rating"]
//форма оценки товара
.$row["add-rating"]
.'<div class="shop-all-img">'.$row["img"].'</div>'
.(!empty($row["price"])?'<div class="shop-price">'._LANG_PRICE.': <span class="shop-price-value">'.$row["price"].'</span></div>':'');
self::show_form_module($row["id"],$row["depend"],$row["do_load"]);
if(!empty($row["param"]))
{
foreach($row["param"] as $k=>$v)
{
echo '
<div class="shop-param">'.$k.($v?': <span class="shop-param-value">'.$v.'</span>':'')."</div>\n";
}
}
echo '<div class="shop-text2">'.'<table width="100%" border="0"><tr><td width="460">'.$row["text"].'</td></tr></table>'.'</div>';
echo '
<div class="shop-text">'.'</div>'
.(!empty($row["tags"])?$row["tags"]:'').'
</div>';
echo (!empty($row["comments"])?$row["comments"]:'');
}
...
Шаг 2
Правим таблицу стилей. Тут надо сделать оговорку - поскольку данный стиль написан под мой конкретный шаблон, то возможно потребуется подправить некоторые числовые значения особенно если число выводимых дополнительных характеристик будет отлично от 3.
Открываем таблицу стилей и находим в ней класс .shop-text и вписываем следующий стиль:
/*******************************************************/
.shop-text{
text-align: left;
vertical-align: middle;
margin-left: 10px;
margin-right: 10px;
margin-bottom: 5px;}
.shop-text2{
width: 72%;
height: auto;
border: none;
background: url(img/hr.gif) repeat-x top left;
margin-left: 27%;
margin-top: -17.9em;
margin-bottom: 0.5em;
}
.shop-text2 ul li, .shop-text2 ol li{
list-style: none;
}
/*************характеристики товара*******************/
.tie{
width: 100%;
}
.tie table {
width: 100%;
background-color: transparent;
border: #F4F6FC 1px solid;
border-collapse: collapse;
}
.tie th {
border: 1px outset #F4F6FC;
background-color: orange;
height: 20px;
color: white;
text-align: center;
}
.tie tr {
background-color: #F4F6FC;
margin: 1px;
}
.tie tr.striped {
background-color: #fff;
}
.tie td {
padding: 1px 8px;
}
/*****************************************************/
Шаг 3
Заходим в админку сайта. Выбираем конкретный товар (в моем случае Страницы сайта > Магазин > Компьютеры > Настольные РС > Коршун). В текстовом редакторе нажимаем "Источник" и вставляем таблицу следующего содержания:
****************************************
<div class="tie">
<table>
<tbody>
<tr>
<th>
наименование</th>
<th>
показатели</th>
</tr>
<tr>
<td>
Производитель процессора</td>
<td>
Intel</td>
</tr>
<tr>
<td>
Тип процессора</td>
<td>
Core i3</td>
</tr>
<tr>
<td>
Частота процессора</td>
<td>
3,06ГГц</td>
</tr>
<tr>
<td>
Набор микросхем</td>
<td>
Intel® P55 + Intel® ICH10R</td>
</tr>
<tr>
<td>
Оперативная память</td>
<td>
2048 Мб</td>
</tr>
<tr>
<td>
Тип оперативной памяти</td>
<td>
DDR3</td>
</tr>
<tr>
<td>
Частота шины</td>
<td>
1333 МГц</td>
</tr>
<tr>
<td>
Объем жесткого диска</td>
<td>
1000 Гб</td>
</tr>
<tr>
<td>
Интерфейс жесткого диска</td>
<td>
SATAII</td>
</tr>
<tr>
<td>
Скорость вращения жесткого диска</td>
<td>
7200 pm</td>
</tr>
<tr>
<td>
Дисковод</td>
<td>
3.5</td>
</tr>
<tr>
<td>
Оптический привод</td>
<td>
DVD±R/RW-CD-R/RW</td>
</tr>
<tr>
<td>
Видео</td>
<td>
PCI-E 768Mb NVIDIA®GeForse™ GTX460</td>
</tr>
<tr>
<td>
Аудио</td>
<td>
8-Channel High Definition Audio кодек</td>
</tr>
<tr>
<td>
Сетевой адаптер</td>
<td>
Интегрирован 10/100/1000</td>
</tr>
<tr>
<td>
Мощность блока питания</td>
<td>
460 Вт</td>
</tr>
<tr>
<td>
Разъемы на лицевой панели</td>
<td>
USB 2.0 - 2шт / Audio out / Mic in</td>
</tr>
<tr>
<td>
Картридер</td>
<td>
да</td>
</tr>
<tr>
<td>
Высота</td>
<td>
421 мм</td>
</tr>
<tr>
<td>
Ширина</td>
<td>
191 мм</td>
</tr>
<tr>
<td>
Длина</td>
<td>
484 мм</td>
</tr>
<tr>
<td>
Код товара</td>
<td>
40045682</td>
</tr>
</tbody>
</table>
</div>
****************************************
Для вывода таблицы характеристик мы используем JQuery. Можно скачать либо здесь http://nosorog.webasyst.net/DD/2.0/file_link.php?sl=03aa016e8e8be8a43a870a5de318ad03&DB_KEY=T04xNjI5, либо здесь http://jquery.com/. Создадим скрипт shop-tables.js следующего содержания:
// технические характеристики
$(function() {
$("table tr:nth-child(even)").addClass("striped");
});
и поместим ее в каталог со скриптами js/scripts, собственно туда помещаем и саму библиотеку JQuery. Подключение скриптов осуществляется следующим образом:
<script type="text/javascript" src="<insert name="path">js/scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" src="<insert name="path">js/scripts/shop-tables.js"></script>
В итоге получаем такую вот картинку:
Очень рекомендую проверить данный метод сначала на локальной машине, ну или хотябы выполнить резервное копирование скрипта shop.view.php и style.css
Вот и все :)
Данная заметка относится в первую очередь к людям, которые мало знакомы с программированием.
nostromo, с выходом 4.3 у нас теперь есть публичный форум. Можете запостить Вашу заметку там :)
Спасибо. Если что, буду постить туда. :)
Может я не разобрался в демке. Возможно ли копировать модули? Мне, например, нужно в разделах сайта 5 разделов "Фотогалерея" с разными названиям. Это можно сделать в этой cms?
Несколько вопросов и сомнений. Можно ли обойтись без ЧПУ? И устанавливать свой полный адрес ссылки? Собираюсь переносить проект, не хочу, чтобы весь контент потерялся. Второе. Развернуть CMS планирую на site.ru/razdel/, сам site.ru в кодировке Win1251, как быть с абракадаброй?