Видео уроки по HostCMS

Re: Видео уроки по HostCMS
Сделайте пожалуйста видео по интеграции дизайна в HostCMS ибо в инструкции сам черт ногу сломит, много теории а пошагово так и непонятно как свой дизайн влепить, + специфические формулировки и слова не дают нормально понимать суть.  Хотябы любой простой дизайн, чтобы понять принцип вывода динамических данных. Знания PHP MySQL HTML CSS у меня есть но эти мануалы просто убивает обилием букв и не последовательностью действий, я бы скорее назвал это справочником. Очень нужно видео или хотябы инструкция с картинками, как подстроить систему под свой дизайн, для нубов.
Модератор
Re: Видео уроки по HostCMS
WorkStudio,
новое руководство по интеграции читали? Вы думаете быстрый обзор интеграции в видео-уроке поможет понять интеграцию, если Вы прочитав руководство с картинками не поняли?
Re: Видео уроки по HostCMS
Извините меня конечно, но я реально на пороге отчаянья, приобрел недавно лицензию, в надежде на базе готовой CMS (при небольших знаниях web программрования) быстро сделать очень простой сайт для своего небольшого бизнеса, благо есть среднее знание PHP начальные знания по MySQL и хорошие по HTML и CSS, на что и сделал ставку приобретая вашу систему, поэтому на радостях даже бросил написание своего php сайта.

А теперь понимаю, что не все так просто как мне казалось, система явно не для нубов (скорее для опытных программистов), мануал оказался для меня как китайская грамота, придется потратить еще массу времени чтобы приобрести знания о XML структуре документов и XSL шаблонов с его операторами и синтаксисом, что конечно абсолютно не входило в мои планы. Ну да ладно, видимо я еще не понимаю насколько это удобно, что это наверное облегчит мне жизнь в будущем, значит нужно обучаться, понять принцип работы CMS (методы вызова инструкции в связке с XSL).

Без этих знаний (как назло именно, то чем и не интересовался для web программирования) дальнейшее изучение системы меня просто ставит в тупик, а задавать постоянно тупые вопросы в тех. поддержку просто неудобно, уже пятый день подряд с утра до глубокой ночи пытаюсь сделать элементарные вещи которые доходят до меня методом тыка, т.к. инструкцию я реально не понимаю, хоть убейте, оформить динамические страницы теперь для меня как пытка.

Сверстаный дизайн со своего самописного php сайта удалось вставить, по аналогии других шаблонов вставил копирайты, свое меню на CSS, даже новости вывел причем как-то тупо наугад копаясь в коде шаблонов, методом тыка т.к. в обилии кода этих шаблонов неясно, что же всетаки нужно оставить для полноценный работы а что можно почистить.

Первое что я не мог сразу понять, это где расположены шаблоны (принцип матрешки), непонятно как устроен принцип работы шаблонов в системе, цепочка "структура сайта" -> "тип страницы (стати\динамич)" -> "ИС" -> "XSL шаблоны", на каком этапе можно втавлять CSS стили, в XSL или XML или в макете, в каких шаблонах ?

Например у меня есть задача:
сделать вывод списка анонсов новостей в раздел "Новости" по адресу http://localhost/news/,
убрать возможность комментирования,  убрать тэги, убрать отображение пользователей которые уже комментировали новость (с демонстрационного сайта), нужно просто сделать вывод списка новостей, дату, и кол-во просмотров, вот кстати вывел новости строчкой кода


<?php
$kernel->show_current_page();
?>


на странице "список шаблонов страниц", отредактировав стандартный шаблон удалив все от туда кроме этих строк, и мне этот код все равно остался непонятен. Если я правильно понимаю то этот код в "шаблоне страниц" вызывает шаблон списка новостей ? Тогда непонятен принцип "шаблон в шаблоне", для чего ? Интересует область применения и примеры.  В общем дошел до конца по ссылкам и нашел шаблон который отвечает за вывод новостей: Типовые динамические страницы &#8594; Информационные системы &#8594; Редактирование типовой динамической страницы &#8594; Информационная система, и тут опять застрял, второй день сижу туплю, непонятно в этом обилии кода, что мне нужно
убрать, а что вообще не трогать, чтобы все корректно работало, убрал RSS, в настройках отрубил комменты, но пользователь vinny все равно висит, в коде не разберешь где он выводится.
Еще не могу понять где висят CSS стили для отображения вывода списка новостей, куда их писать ?

Помогите Хотябы скажите что за чем читать (чтобы усвоить материал), какую первую документацию, вторую и т.п. ? Я начал чтение сразу с интеграции.
Re: Видео уроки по HostCMS
Ох, дружище!..
На самом деле, там все достаточно просто, но если опыт работы ограничивается html и css то действительно сходу не разберешься
Вы бы, прежде чем лицензию покупать поигрались бы с Халявой сначала, что-ли...

Ладно, я сейчас попробую накидать небольшой текстик, типа последовательности шагов, по которой я собираю сайты на hostcms. как раз у меня и сайт под рукой не доделанный. В общем ждите
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Все написанное ниже - исключительно мое ИМХО, о том как удобнее создавать новые сайты на HostCMS. Основанное на личном опыте, но все же сугубо частное мнение, которое может быть для кого-то спорным.
Спорить по сути нижеизложенного ни с кем не буду, а если кому-то этот алгоритм поможет - буду рад )

Во-1х, все сразу как установят систему сразу же кидаются переделывать демо-сайт
Я считаю, что такой подход _в_приницпе_не_верен! Демку лучше всего оставить нетронутой, для того чтобы смотреть в ней что и как. Она для того и предназначена! Можно еще вынести ее на поддомен, если вы чувствуете что однго созерцания демки из админки вам мало (правда на Денвере такой вынос сделать сложно, так что на демосайт мы вообще забьем)

Поэтому, ПЕРВЫЙ ШАГ - создаем новый сайт.

Для этого заходим в ЦА, и идем в раздел Сайты (в меню которое справа в колонку, в нижней части)
В меню раздела (это которое слева, под словами Список сайтов) есть два пункта - Сайты и Настройки.
Если в настройки еще не ходили, то самое время туда сходить, и вписать свои Регистрационные данные - Логин на форуме HostCMS, номер договора и пин-код. Коль скоро у вас коммерческая лицензия, то все это у вас должно быть. Вписанные данные сохраняете.

Теперь идете в Сайты - Добавить, и вписываете название нового сайта. Название может быть любым, оно чисто для вас и никуда не отображается. Кроме названия можно еще вписать email, но поскольку вы под Денвером то для вас это действие особого смысла иметь не будет.
Поскольку сайт будет работать в домене localhost то можно сразу перейти на вкладку Лицензия и вставить в поле ключик от домена localhost - FR-401B1-916CE-CEX7B-F1400-05A7F.
Все остальное можно пока оставить как есть и нажать на кнопку "Применить".

Новый пустой сайт создан.
Теперь надо развести домены.
Для этого в списке сайтов щелкаете по зеленому шарику "Домены" напротив демонстрационного сайта и в качестве домена для него вписываете любую лабуду - хоть site12345.ru - поскольку вы под Денвером и мы с вами не будем заморачиваться с попытками сделать под ним многосайтовость. То есть рабочего демо-сайта у нас не будет, да и Б-г с ним, не сильно и нужен.
Ключ для этого домена можно не получать, а вот отметить его как Основной все равно придется.

Возвращаемся к списку сайтов, вписываем для нового сайта домен localhost, указываем его основным. Ключ получать опять-таки нет необходимости - мы его уже вписали при создании сайта.

Первый этап пройден.
Выходим из ЦА (пиктограмма выхода - сверху справа).
Заходим снова - вверху в списке сайтов появился второй сайт. Выбираем его в этом списке. Теперь мы администрируем его.

Заходим на http://localhost и наслаждаемся сообщением о том, что для нашего сайта "Не найдена главная страница сайта!". Там же читаем инструкцию где и как ее создавать, но делать это пока еще рано.

Потому что сначала ШАГ ВТОРОЙ.
У вас стопудово где-то есть html-макет от вашего сайта, который вы хотите перенести на hostcms. Макет этот, вероятнее всего, состоит из html-файла, css-файла, кучки java-script и папки с картинками.
Папку с картинками выкладываем куда-нибудь тудаже где лежит и сама hostcms - кто как любит, лично я создаю в корне web-папки папочку skin а в ней папку с названием сайта (латиницей). То есть для верстки путь к картинкам получается
"/skin/mysite/images/image.jpg". В папку /skin/mysite/ я выкладываю еще и весь используемый javascript.
В самом макете, а также в css меняем все пути к файлам изображений и скриптов на новые.
В части head макета удаляем мета-теги указывающие кодировку, ключевые слова и дескрипшн, тег title и тег привязки основного css-файла.
Вместо них вставляем следующий код:

<meta content="text/html; charset=<?=SITE_CODING?>" http-equiv=Content-Type>
<meta name="description" content="<?$kernel->show_description()?>" />
<meta name="keywords" content="<?$kernel->show_keywords()?>" />
<title><?$kernel->show_title()?></title>
<?php $kernel->show_CSS()?>

Далее, в том месте макета, где предполагается вывод данных, вместо этих данных вставляем следующий код:

<?php $kernel->show_current_template()?>

У нас получился html-код макета, подготовленный для вставки в hostcms.

После этого в ЦА идем в раздел "Макеты сайта" и выбираем в меню Макет команду Добавить.
Задаем название макета (например Мой макет), на вкладке Макет вставляем html-код, на вкладке css - соответственно

Жмем на "Применить"

ШАГ ТРЕТИЙ
Создадим шаблон данных.
Для этого перейдем в раздел "Шаблоны страниц" и в меню Шаблон страницы выберем строку Добавить.
зададим название (например Основной шаблон) и на вкладке Шаблон страницы напишем:

<?php
$kernel->show_current_page();
?>

Применить.

ШАГ ЧЕТВЕРТЫЙ
Создадим документ, который будет служить нам временной заглушкой.
Для этого перейдем в раздел ЦА под названием "Страницы и документы", в меню Документ выберем команду "Добавить",
зададим название документа (например Тест), выберем из списка наш ранее созданный макет, на вкладке документ напишем чего-нибудь и нажмем на Применить.

Вот теперь мы готовы к ШАГУ ПЯТЬ!
в ЦА нужно перейти в раздел "Структура сайта".
В меню Раздел выбрать команду "Добавить".
Зададим название раздела в поле "Название раздела [В меню]" (вот тут уже надо быть осторожным, оно потом появится на сайте).
Назовем первый раздел банально и предсказуемо - "Главная".
Из списка "Шаблон страницы" выберем наш "Основной шаблон".
В поле "Название раздела" (который просто, без [в меню]) зададим путь. Для первого раздела путь может быть только / и никаким другим.
Внизу, из списка документов выберем наш документ с названием Тест, и нажмем не "Применить".

И вот теперь, по адресу http://localhost вы должны увидеть макет вашего сайта, в котором будет написан тот текст, который вы написали в документе Тест.


Теперь попробуем что-нибудь посложнее.
Зайдем снова в "Структуру сайта" и создадим там раздел Новости, с путем /news/ указав ему так же Основной шаблон.
Больше пока ничего не делаем, и нажимаем на "Применить".

Перейдем в раздел ЦА "Информационные системы". В меню Информационная система выберем команду Добавить.
Зададим название (наши новости) и узел структуры (Новости). Нажмем на Применить.

Зайдем внутрь созданной инфосистемы (щелчок по названию Наши новости).

В меню Информационный элемент выберем Добавить, зададим название, напишем что-нибудь в полях "Описание информационного элемента" и "Текст". Нажмем на Применить.

Вернемся в раздел ЦА "Структура сайта" и отредактируем раздел Новости (желтый карандашик в соотв.строке):
"Тип раздела" переключим на "Типовая динамическая страница."
В списке "Раздел" выберем "Информационные системы".
В списке "Страница" - "Информационная система".

Появится список настроек.
Код информационной системы - выберем из списка инфосистему "Наши новости".
XSL-шаблоны пока оставим по-умолчанию.
Нажмем на Применить.

Посмотрим что получилось по адресу http://localhost/news/

Внешний вид вывода новостей определяется соответствующими XSL-шаблонами, указанным в настройках структуры сайта.
Для редактирования, лучше скопировать шаблон (кнопка рядом с редактированием  в списке XSL-шаблонов), и эту копию указать в настройках структуры. Оригинальные шаблоны лучше не менять - пригодятся еще для образца.

Ну вот как-то так
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Спасибо Kotoff, но это я и сам разобрался, у меня как раз проблемы с XSL шаблонами, ты закончил как раз на самом интересном. Мне не нужно такой вывод новостей как в демо сайте, мне нужно чтобы можно было вывести список анонсов новостей без возможности комментирования (отключил в опциях ИС), оценки и тегов. Вероятно я действительно зря начал переделывать демо сайт, поэтому и заморочил себе голову, надо начать с нуля, и что будет непонятно сразу спрашивать.

У меня опыт работы не ограничивается html css, я ж писал выше, что php тоже знаю и mysql (видеоуроки Евгения Попова, за что ему большое спасибо), до этого занимался программированием на Delphi как хобби.

Мне неясно как работать с шаблонами, почему в каждом шаблоне пишем ссылку на другой шаблон $kernel->show_current_page(); и в каком именно шаблоне нужно вставлять css стили в промежуточных или в последнем, вот чего я не могу понять. Хотя открыв шаблон который выводит анонсы новостей так и не понял, что можно удалить а что нет, какие то системные переменные, и ничего не понятно. Вообщем отредактировать шаблон не удалось.
Re: Видео уроки по HostCMS
WorkStudio писал(а):
ты закончил как раз на самом интересном

Ч-черт, какой же я все-таки сукин сын и прожженый интриган

WorkStudio писал(а):
Мне неясно как работать с шаблонами, почему в каждом шаблоне пишем ссылку на другой шаблон

Ок.
В HostCMS три уровня шаблонов, (если их все можно так обозвать): макеты сайта, шаблоны страниц и XSL-шаблоны.

Самый главный - это макет сайта. В него нужно загонять верстку страницы - "каркас", в котором потом будут размещаться данные. Здесь прописывается и css для всего сайта сразу.
Макет обычно выглядит так:
<Шапка />
<Серединка />
<Подвал />
(в виде <тегов /> я обозначил html-верстку макета)
Шапка и подвал как правило одинаковы для всех страниц сайта, а вот серединка в разных разделах бывает разная. Ну например, на главной странице мы сбоку делаем колонку, так называемый sidebar, в которой у нас последние новости, а на остальных страницах нам эта колонка не нужна. Че делать? 0_о
А вот че - из Макета сайта выкидываем серединку, и пишем код вызова шаблона страницы.
Получается примерно так:
<Шапка />
<?php $kernel->show_current_template()?>
<Подвал />


И создаем два разных шаблона страницы - первый с двумя колонками, второй - с одной:
первый
<первая колонка>
<?php $kernel->show_current_page(); ?>
</первая колонка>
<втораяколонка>
<?php
//тут код для отбора нужного нам количества последних новостей
//и вывода их через xsl-шаблон
?>
</втораяколонка>

и второй:
<единственная колонка>
<?php $kernel->show_current_page(); ?>
</единственная колонка>


Вызов метода show_current_page() объекта kernel позволяет вывести тот блок, который для данного url указан в структуре сайта, и через тот xsl-шаблон, который там же в структуре задан.

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

Но, для каждого шаблона страницы метод show_current_page() может быть вызван только один раз. Поэтому содержимое боковой колонки задается уже вручную на php.

Таким образом, "шаблон страницы" представляет собой более мелкий шаблон, как бы вкладываемый внутрь Макета сайта при генерации страницы.

Но при этом, что важно, ни макет сайта, ни шаблон страницы сами по себе не работают с данными, отображаемыми на сайте! И то и другое - пассивные конструкции. Они просто задают место, куда нужно отображать данные.

То, какие именно данные отображать для текущего url определяется, во1х, в Структуре сайта (выбором нужно ТДС - типовой динамической страницы), в во-2х, может дополнительно определяться в Шаблоне страниц, на php, как мы это сделали (условно) для новостей сбоку.

А за обработку собственно данных - статей, новостей, товаров в магазине, комментариев пользователя и т.д. - отвечают как раз-таки XSL-шаблоны.
Это самый нижний вид шаблона в иерархии, но именно в них-то и настраивается все отображение конкретных элементов. В частности, отключение тегов и оценок для вывода новостей делается именно в соотв. xsl-шаблоне, путем удаления лишнего кода (лучше для начала не удалять а забирать лишнее в комментарии).

XSL-шаблоны написаны на языке XSLT и обрабатывают данные в формате XML, которые cms подготавливает в процессе вывода страницы.

XSL-шаблонов можно вызывать в шаблоне страницы и даже в макете сайта, и число вызовов в принципе не ограничено.

Везде где нужен вывод данных так или иначе, явно или неявно вызывается xsl-шаблон. Исключение составляют лишь статические документы из раздела "Страницы и документы". Они выводятся "как есть", безо всяких XSL-преобразований. Впрочем, область их применения крайне не велика. (Я например в них пишу только адреса и телефоны организации, чтобы при необходимости не править их в самом макете, а делать это через веб-интерфейс ЦА)

О том как работают в связке XML и XSL можно погуглить, документации в сети много, были и здес на форуме ссылки в соседней теме

О том что полезно для понимания: можно вызвать страницу с параметром ?show_xml=1
Перед этим надо залогиниться в ЦА, а потом открыть сайт в соседней вкладке.
Например http://localhost/news/?show_xml=1 и смотрим чего получилось
Там можно посмотреть XML с данными, на основе которого XSL-шаблон строит страничку. После этого рекомендуется много курить мануалы, гуглить и медитировать

Есть еще хорошая программа Stylus Studio - как раз для написания XSL-шаблонов на основе известного XML, офигенная вещь! Но не знаю насколько она вам сейчас поможет, там подразумевается что пользователь имеет некоторые базовые знания в предмете.

Ну вот как-то так
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Спасибо большое, что потратил на меня свое время =)
После этого рекомендуется много курить мануалы, гуглить и медитировать
вот я про это и говорил, видимо открою я свой сайт еще не скоро, блиин я то думал просто буду вставлять php переменные для вывода информации в новом движке в нужных местах, а не тут-то было, придется курить мануалы, и еще неизвестно сколько времени на это уйдет

Мне непонятно, почему в документации написано:
Требования  к  квалификации  пользователя HostCMS
Пользователю  системы  управления  для  управления  сайтом  специальные  знания  не  требуются, достаточно основных навыков работы с прикладным программным обеспечением


Это же ложь, про программирование на XSLT не говорилось. Я думаю никто не хочет получить шаблонный демонстрационный сайт, поэтому без знаний тут не обойтись, а их оказывается нужно иметь достаточно.

Ладно спасибо тебе за помощь, ушел читать доки
Re: Видео уроки по HostCMS
Кстати Kotoff ты так и не ответил, css стили для анонса новостей где предпочтительно писать в самом "нижнем" шаблоне или можно в промежуточном ?
Модератор
Re: Видео уроки по HostCMS
WorkStudio,
Пожалуйста, различайте пользователя HostCMS и разработчика сайта на HostCMS. Вы слукавили, указав в цитате только часть требований, исключив следующую информацию:
Цитата:
Требования к квалификации разработчиков сайтов на базе HostCMS
Разработчику сайтов на базе системы управления HostCMS необходимо владеть базовыми знаниями HTML и PHP. Желательно обзорное знание XML/XSL технологий (более подробные требования к XSL-шаблонам размещены ниже), каждый модуль поставляется с демонстрационными шаблонами с комментариями в коде.
С внедрением в HostCMS 4.0 нового модуля «Типовые динамические страницы», требования к квалификации разработчиков сайтов на базе HostCMS значительно снижены.
Авторизация