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

Re: Видео уроки по HostCMS
Кстати по поводу создания нового сайта, по реплике Kotoff

Я к примеру на данный момент создаю новый сайт не устанавливая новый дист. У меня есть постоянно обновляемая версия в которой уже создан типовый пример второго сайта.(в котором уже есть структура и так далее). Те в системе два сайта - Демо и Новый сайт.


Если мне нужно приступить к новому сайту то я просто копирую весь дист на новый домен в денвере и запускаю его там. (то есть пару кликов - скопировали сайт на новый домен, создали новую базу и утилиткой dumper.php сделали restore из бекапа моего диста hostcms). Ну и канечно лицензицию новую нужно сделать для домена -)

Все. Здесь плюс в том что в моем дисте уже сделаны типовые шаблоны xsl которые я использую из проекта в проект. К новому сайту в системе уже применен макет сайта над которым я сразу и начинаю верстку.
Могут и установленные модули, измененные типовые и так далее.

Что касается обновлений такого диста - выполняю периодически, типовые обновляю тоже и тд.
ку
Re: Видео уроки по HostCMS
WorkStudio, прав, с наскоку без знаний xsl, связываться с этой системой не стоит если только не в самообразовательном плане . XSL кажется поначалу путанным и не понятно зачем вообще созданным из-за постоянной работы в прошлом в других средах,хотя может поэтому он до сих пор и не нашёл широкого распространения  т.к. есть методы проще и более логичные.  
WorkStudio кстати , по прошествии энного времени как ваши сейчас успехи в работе с HostCMS?
или бросили освоение оной?
Re: Видео уроки по HostCMS
dimidos писал(а):
XSL ... до сих пор и не нашёл широкого распространения
вы уверены? Поговорите об этом, например, с java-разработчиками

dimidos писал(а):
есть методы проще и более логичные
"проще" не всегда означает "правильнее".
А что до логики - то куда уж логичнее XSLT? Там все очень логично, ничего лишнего.
В вашем случае было бы правильнее сказать "есть методы более понятные для меня", что, в свою очередь, никак не характеризует систему, а характеризует лично вас.
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Kotoff, не буду спорить - каждому своё, кому мёд а кому соль ^) А что по поводу java - может приведёте примеры массового использование этого языка? Никогда он таковым не был и никогда не будет.
Re: Видео уроки по HostCMS
dimidos писал(а):
по поводу java — может приведёте примеры массового использование этого языка? Никогда он таковым не был и никогда не будет.
Вы меня улыбаете в своей категоричности и локальности кругозора
По меньшей мере вот http://ru.wikipedia.org/wiki/Java#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BF.D0.BB.D0.B0.D1.82.D1.84.D0.BE.D1.80.D0.BC.D1.8B_Java и вот http://ru.wikipedia.org/wiki/Android#.D0.A0.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BE.D0.B1.D0.B5.D1.81.D0.BF.D0.B5.D1.87.D0.B5.D0.BD.D0.B8.D1.8F
Язык на котором пишутся приложения для платформы, которая занимает около 20% рынка ОС для смартфонов - не массовый?
Или вы считаете, что если программу на языке не может написать любой пользователь ПК, то этот язык не массовый?
Да, написать какую-то CMS на php не сможет только ленивый, но это, в свою очередь, порождает массу совершенно безграмотных и ужасных разработок. И наоборот - чем выше порог вхождения в разработку на языке, тем качественне продукт, на этом языке написанный.

Впрочем, пора заканчивать разводить оффтоп на форуме. Хотите подискутировать - стучитесь в аську.
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Kotoff,
спасибо Вам огромное, так всё понятно, что просто слезы от радости такой красоты изложения
Re: Видео уроки по HostCMS
moroshilova, пожалуйста
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Kotoff, низкий Вам поклон за подробную инструкцию! Мне очень помогло!
Хочу обратиться к Вам с просьбой. У меня все получилось, кроме jQuery меню. Меню само работает, а вот скриптовый ползунок, который должен "липнуть" к активному пункту меню, находится в бездействии. Сайт находится на локальном сервере. Вот фрагменты кода:

Макет сайта:
<div id="wrapper">
   
   <header id="header"></header><!-- #header-->
         <!-- Верхнее меню -->
         <?php
         $Structure = & singleton('Structure');
         $Structure->ShowStructure(5, 'ГлавноеМеню');
         ?>


XSL-шаблон
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <xsl:template match="/document">
      <div class="lavalamp" >
         <ul>
            <!-- Выбираем узлы структуры первого уровня -->
            <xsl:apply-templates select="structure[show=1]"/>
         </ul>
         <div class="floatr"></div>
      </div>
   </xsl:template>
   
   <xsl:template match="structure">
      
      <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
      <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
      
      <li>
         <!--
         Выделяем текущую страницу добавлением к li класса red_li,
         если это текущая страница, либо у нее есть ребенок с атрибутом id, равным текущей uheggt.
         -->
         <xsl:if test="current_structure_id = @id or count(.//structure[@id=$current_structure_id]) = 1">
            <xsl:attribute name="class">red_li</xsl:attribute>
         </xsl:if>
         <!-- Показывать ссылку, или нет -->
         <xsl:choose>
            <xsl:when test="show_link = 1">
               <!-- Определяем адрес ссылки -->
               <xsl:variable name="link">
                  <xsl:choose>
                     <!-- Если внешняя ссылка -->
                     <xsl:when test="is_external_link = 1">
                        <xsl:value-of disable-output-escaping="yes" select="external_link"/>
                     </xsl:when>
                     <!-- Иначе если внутренняя ссылка -->
                     <xsl:otherwise>
                        <xsl:value-of disable-output-escaping="yes" select="link"/>
                     </xsl:otherwise>
                  </xsl:choose>
               </xsl:variable>
               <!-- Ссылка на пункт меню -->
               <a href="{$link}" title="{name}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
            </xsl:when>
            <!-- Если не показывать ссылку - выводим просто имя ссылки -->
            <xsl:otherwise>
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </xsl:otherwise>
         </xsl:choose>
      </li>
   </xsl:template>
</xsl:stylesheet>


CSS
/* Main menu
-----------------------------------------------------------------------------*/
.lavalamp {
position: relative;
border: 1px solid #d6d6d6;
background: #fff;
padding: 15px;
-webkit-box-shadow: 0 3px 6px rgba(0,0,0,.25);
-moz-box-shadow: 0 3px 6px rgba(0,0,0,.25);
border-radius : 10px;
-moz-border-radius : 10px;
-webkit-border-radius : 10px;
background : -webkit-gradient(linear, left top, left bottom, from(rgb(240,240,240)), to(rgb(204,204,204)));
background : -moz-linear-gradient(top, rgb(240,240,240), rgb(204,204,204));
height: 18px;
font: 16px Helvetica, Tahoma, Verdana, sans-serif;

}
.lavalamp ul {
margin: 0;
padding: 0;
z-index: 300;
position: absolute;
}

.lavalamp ul li {
list-style: none;
float:left;
text-align: center;
}

.lavalamp ul li a {
padding: 0 20px;
text-align: center;
text-decoration: none;
color: black;
}
.floatr {
position: absolute;
top: 10px;
z-index: 50;
width: 70px;
height: 30px;
border-radius : 8px;
-moz-border-radius : 8px;
-webkit-border-radius : 8px;
background : rgba(0,0,0,.20);
-webkit-transition: all .4s ease-in-out;
-moz-transition: all .4s ease-in-out;
}


JS
$(document).ready(function () {
//найти текущую позицию активного элемента
var dleft = $('.lavalamp li.active').offset().left - $('.lavalamp').offset().left;
var dwidth = $('.lavalamp li.active').width() + "px";
//присвоить эту позицию элеметку с подсветкой
$('.floatr').css({
"left": dleft+"px",
"width": dwidth
});
$('.lavalamp li').hover(function(){
var left = $(this).offset().left - ($(this).parents('.lavalamp').offset().left + 15);
var width = $(this).width() + "px";
var sictranslate = "translate("+left+"px, 0px)";
$(this).parent('ul').next('div.floatr').css({
"width": width,
"-webkit-transform": sictranslate,
"-moz-transform": sictranslate
});
},
function(){
var left = $(this).siblings('li.active').offset().left - ($(this).parents('.lavalamp').offset().left + 15);
var width = $(this).siblings('li.active').width() + "px";
var sictranslate = "translate("+left+"px, 0px)";
$(this).parent('ul').next('div.floatr').css({
"width": width,
"-webkit-transform": sictranslate,
"-moz-transform": sictranslate
});
}).click(function(){
$(this).siblings('li').removeClass('active');
$(this).addClass('active');
return false;
});
});


Заранее благодарю за помощь.
Re: Видео уроки по HostCMS
ab, вы извините, но я не очень силен в jQuery, пользуюсь стандартными библиотеками по прилагаемым инструкциям, да и все. Я больше по серверной части - php, xslt.

По существу могу посоветовать вам два подхода.
Первый - это установить плагин Firebug для браузера Firefox и там, в консоли будет видно сообщение об ошибке, если она возникает, а также на вкладке Script можно выполнить пошаговую отладку скрипта.
Второй - это сначала сверстать и отладить меню в статичном html, так чтобы оно работало как вам хочется, а потом уже на основании этого html написать xslt-шаблон и перенести в макет необходимые скрипты и стили. При этом, использование второго подхода вовсе не исключает первый.
Заказов не беру. Консультирую редко.
Re: Видео уроки по HostCMS
Спасибо, Kotoff!
Но я ничего так и не добился с этим меню. Удалил плавающий элемент для активного пункта меню. То есть сделал его статичным.
Вот что получилось - http://joyworld.com.ua
Но тут нарисовались еще проблемы. Почему-то при переходе в другой пункт меню перезагружается вся страничка. И в левом верхнем углу откуда-то взялся совсем крохотный белый квадрат на флэшэ. Я уже не знаю что и делать. В коде у меня такого и близко нет.
Авторизация