Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Kick Off 
:(
    Опции темы
sergejzr
Дата 8.9.2006, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Я очень рад, что сегодня появилось немного времени и получилось сделать чтото вроде Kick Off - шаблона.
Конечно, это пока необтёсанное брёвнышко, но уже (хоть и минимальная, но всё же) CMS на XML.
(я знаю, что там можно многое улучшить, но к сож. время кончилось у меня на сегодня)


Сделал макет, куда можно добавлять свои модули. Если понравится, давайте возмём за базу для разработки, чтобы было уже на чём строить.
Просто распакуйте папку в PATH_TO_APACHE/htdocs и запустите localhost/cms в браузере.

Нравиться, что получилось сравнительно просто.
в папке src/modul 2 модуля. Один - зачаток фотоальбома, другой дамми для тестов. 

Итак - вперёд!



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 8.9.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Вчера по запарке залил версию без стилей. В этой и стили и пример локализации есть

Присоединённый файл ( Кол-во скачиваний: 27 )
Присоединённый файл  cms.zip 459,25 Kb


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 8.9.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Тварищи, нужны комменты!

Добавлено @ 12:53 
Я ориентировался на CMS PHP-Nuke, который использовал в этом проекте
http://www.standards-forum.de/

ПО большому счёту с другими CMS не работал и не знаю, что там ещё всё надо.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
skalex
Дата 8.9.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Гм .... Вот что я увидел:

Код
Ошибка синтаксического анализа XML: лишние данные после элемента документа 
Адрес: http://__vcms__/ 
Строка 2, символ 1:<b>Parse error</b>:  parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in <b>z:\home\__vcms__\www\src\inc\VingradCMS.php</b> on line <b>5</b><br />
^


У меня Денвер.

Добавлено @ 13:57 
Ребята, сорри ... Туплю ... PHP5 то я забыл установить ...  smile 
PM   Вверх
sergejzr
Дата 8.9.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Ну, без обьектов мы никак smile Решили же на них делать. 

ПС:
Вывод ХМЛ пока просто сделал через шаблон, так как интернет дома никакой и с ДОМом я так быстро не разберусь. Но там всё так постарался сделать, что будет легко переделать на ДОМ. Кто сможет, сделайте пожалуйста. И ещё.. репозиторий у нас есть уже?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 8.9.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



я обязательно вскоре протестирую. Очень интересно.
PM WWW   Вверх
sergejzr
Дата 8.9.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360





--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Opik
Дата 8.9.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



sergej.z
Загляни в тему "стардарты кодинга". А то хер че поймешь)
PM MAIL Skype   Вверх
sergejzr
Дата 8.9.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Тебя тоже не поймёсь. Что ты хочешь этим сказать? Какое это отношение к шаблону имеет?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
skalex
Дата 8.9.2006, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



sergej.z, взглянул на XSLT и страшно стало. Как то я совсем далек от этого ...  smile 
PM   Вверх
sergejzr
Дата 8.9.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



skalex, а ты не смотри! smile Сам модуль пишется намного проще:

Модул состоит:
ХСЛ - шаблон (все необходимые переменные появляются с инклудом core.xsl)
Пхп - генератор (то есть генератор ХМЛ)

Вот ХСЛ (пишешь на самом деле только между <xsl:template name="startmodule"></xsl:template>)
Код

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xml [ <!ENTITY nbsp " "> <!ENTITY middot "·">]>
<xsl:stylesheet version="1.0" exclude-result-prefixes="rdf rss dc xsl"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rss="http://purl.org/rss/1.0/">
<xsl:import href="core.xsl"/>
<xsl:template name="startmodule">
<!-- А дальше почти простой ХТМЛ -->

<!-- Переводим -->
<h1><b><xsl:apply-templates  select="$maindictionary[@id='hello']"/>!</b></h1>

<!-- Вставляем картинку -->
<img width="300px">
<xsl:attribute name="src">
upload/<xsl:value-of select="content/main_image" />
</xsl:attribute>
</img>
</xsl:template>

</xsl:stylesheet>


И такой ХМЛ надо будет генерить от руки:
Код

<main_image>futbolka.jpg</main_image>


Вот и все пироги smile 

ПС:
А ну да, ещё файлик с переводами туда smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 8.9.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



sergej.z, в начале не понял, в чем дело, потом вспомнил, что PHP5.1 понимает по-умолчанию только если ПХП-код начинается с <?php

Простого <? недостаточно. Скрипт у меня выводил:
Цитата

addModule($idx); $vcms->addLeftGroup($maingroup); $maingroup=new V_ModuleGroup('Photoalbum'); $idx=new Photoalbum_Modul(); $maingroup->addModule($idx); $vcms->addRightGroup($maingroup); print $vcms->show(isset($_GET['action'])?$_GET['action']:false); ?>


поэтому на будущее предлагаю всем на всякий случай писать везде <?php

В php.ini за это отвечает директива:
Цитата

; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.
short_open_tag = Off

PM WWW   Вверх
sergejzr
Дата 8.9.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(Wowa @  8.9.2006,  16:34 Найти цитируемый пост)
поэтому на будущее предлагаю всем на всякий случай писать везде <?пхп



Хорошо, не проблема. Домой приду, посмотрю, что там в репозитории. Чтобы через него работать.

Добавлено @ 18:47 
И словарик надо будет на XInclude переделать. Тогда наверное и под 9 оперой пойдёт smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 8.9.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Ребята, мне понравилось ядро предложенное Сергеем. Предлагаю всем ознакомиться и если возражений нет, то именно на этом продолжать дальше стоить CMS. Я считаю, что это подходит полностью.
PM WWW   Вверх
skalex
Дата 9.9.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Цитата(Wowa @  8.9.2006,  19:34 Найти цитируемый пост)
поэтому на будущее предлагаю всем на всякий случай писать везде <?php


Поддерживаю!
PM   Вверх
dm9
Дата 11.9.2006, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: нет
Всего: 137



Цитата(Opik @  8.9.2006,  15:55 Найти цитируемый пост)
sergej.z, Загляни в тему "стардарты кодинга".


Да спасёт тебя Великий Ctrl+Shift+F в Зенде smile

Сергей.

Основным недостатком данного подхода считаю блочность. Ты базировался на PHP-Nuke? Да, он болеет этим, и это плохо. addRightGroup -- скажи, а если колонок не две, а три? А если на главной странице 4 колонки, а внутри 2? А если контентный блок есть ещё в шапке (а он обычно есть -- хотя бы баннер)? То есть на уровне движка рулить "лево-право" считаю неправильным. Далжен быть просто addGroup, а рулиться эти группы должны в шаблонах (core.xslt or smth.) Потому что поменять местами право и лево -- это, согласись, дизайн, а не логика. А дизайн должен быть в шаблонах, чтобы потом не пришлось гоняться по всем кодам и менять право с левом.

Потом. Всегда считал неверным пляску от action'a. Я придерживаюсь подхода, при котором сначала загружается базовый шаблон, а потом уже он определяет, что делать дальше (обычно у меня он делает просто <xsl:apply-templates /> -- это аналог твоего поведения, но у меня это лечится, а у тебя нет). И нет такого понятия, как "xslt текущей страницы" или т. п. А у тебя есть шаблон, который зависит от текущего экшена. Честно, не скажу, почему твой подход мне не нравится. Чисто интуитивно -- теряется универсальность. Но сидел думал час, так и не смог придумать примера -- всё же обычно основной контентный блок ровно один, а остальное замечательно вписывается в core.xslt. Придумаю -- скажу smile

P. S.
В concat(concat( , вроде, нет необходимости -- эта ф-ция понимает сколько угодно параметров? smile

PM MAIL ICQ   Вверх
Wowa
Дата 11.9.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



dm9, дельные вещи говоришь.
PM WWW   Вверх
sergejzr
Дата 11.9.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
Основным недостатком данного подхода считаю блочность. Ты базировался на PHP-Nuke? Да, он болеет этим, и это плохо. addRightGroup -- скажи, а если колонок не две, а три? А если на главной странице 4 колонки, а внутри 2? А если контентный блок есть ещё в шапке (а он обычно есть -- хотя бы баннер)? То есть на уровне движка рулить "лево-право" считаю неправильным. Далжен быть просто addGroup, а рулиться эти группы должны в шаблонах (core.xslt or smth.) Потому что поменять местами право и лево -- это, согласись, дизайн, а не логика. А дизайн должен быть в шаблонах, чтобы потом не пришлось гоняться по всем кодам и менять право с левом.

И с чего вы взяли, что этото пример определяет поведение будующей CMS? Я слепил пару блоков для наглядности, чтобы показать как их можно будет подгружать и отображать в XML/XSL, а совсем не собирался направление задавать. Про сам движёк ПХП я даже не думал.
Ещё раз smile
Пример показывает, как можно осуществить модульность + локализацию на XML/XSL (с того топика и ссылается), а совсем не диктует, где что будет находиться и как грузятся модули (тем более, что они автоматом из БД должны грузится в зависимости от настроек.)

Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
Потом. Всегда считал неверным пляску от action'a. Я придерживаюсь подхода, при котором сначала загружается базовый шаблон, а потом уже он определяет, что делать дальше (обычно у меня он делает просто <xsl:apply-templates /> -- это аналог твоего поведения, но у меня это лечится, а у тебя нет). И нет такого понятия, как "xslt текущей страницы" или т. п. А у тебя есть шаблон, который зависит от текущего экшена. Честно, не скажу, почему твой подход мне не нравится. Чисто интуитивно -- теряется универсальность. Но сидел думал час, так и не смог придумать примера -- всё же обычно основной контентный блок ровно один, а остальное замечательно вписывается в core.xslt. Придумаю -- скажу smile

Универсальность не теряется, наоборот повышается модульность. Написал ПХП генерящий ХМЛ + ХСЛ шаблон для него. Вот и готовый модуль.

Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
P. S.
В concat(concat( , вроде, нет необходимости -- эта ф-ция понимает сколько угодно параметров? smile

Разве concat не 2 параметра понимает? В С, ПХП, Мускул это вроде та.

Добавлено @ 14:53 
Гы smile Это конечно прикольно было бы получить готовое ядро CMS из 100 строк. Нет уж smile Основная работа впереди.

Цитата(sergej.z @  11.9.2006,  12:42 Найти цитируемый пост)
Универсальность не теряется, наоборот повышается модульность. Написал ПХП генерящий ХМЛ + ХСЛ шаблон для него. Вот и готовый модуль.

От чего нибудь всегда надо плясать. Универсально "для всего" один шаблон написать не получится, сколькими ты его функциями не пичкай. 

Универсальность хороша там, где не важны конкретные особенности. И универсальность всегда обратно пропорциональна скорости выполнения и времени написания. Чем конкретнее модуль, тем лучше его и делать конкретнее.




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 11.9.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Почитал про concat. Действительно, удобно. Надо будет переделать.

Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
Далжен быть просто addGroup, 


В принципе я так и думал группам просто имена давать, а в шаблоне разбираться, куда с каким именем лепить. Но это просто надстройка над тем ядром, которое я написал. Просто на бесконечном уровне абстракции надо намного больше времени для работающего варианта.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 12.9.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
То есть на уровне движка рулить "лево-право" считаю неправильным. Далжен быть просто addGroup, а рулиться эти группы должны в шаблонах (core.xslt or smth.) Потому что поменять местами право и лево -- это, согласись, дизайн, а не логика. А дизайн должен быть в шаблонах, чтобы потом не пришлось гоняться по всем кодам и менять право с левом.


Гы! Я понял, почему неразберишка вышла. Из за того, что я назвал группы left и right. Господи, да замените лево/право не синее/зелёное, или 1/2. Естественно, что в конечном итоге XSL решит куда, какую поставить и лево направо поставит, если юзер захочет. А пример на то он и пример, чтобы понятным быть.

Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
Я придерживаюсь подхода, при котором сначала загружается базовый шаблон, а потом уже он определяет, что делать дальше (обычно у меня он делает просто <xsl:apply-templates /> -- это аналог твоего поведения, но у меня это лечится, а у тебя нет).

Проблема подхода apply-templates в том, что уже ХМЛ в этом случае орпеделяет структуру выхода. Это не всегда надо. Не получится все элементы назвать по-разному, чотбы не дублировать инфу. А если у тебя дав одинакого названных элемента с разным содержанием, то придётся в  apply-templates передавать параметр, определяющий. Так какая разница получается тогда в apply-templates и call-template?

Мой подход больше похож на вызов функции. Какую надо, ту и вызываем. Да, теряется универсальность при которой бросиш кусок ХМЛ и шаблон тебе его отпарсит сам, но здесь встаёт то факт, что ХМЛ определяет положение элементов, а я хочу, чтобы это делал исключительно шаблон. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 12.9.2006, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Я тоже за call-templates. Однако мне кажется что AddGroup это не совсем то что нужно. Есть определенный набор шаблонов который определяет основной вид страницы и ее блоки, между тем модули генерируют XML и уже на выходе определяют какие шаблоны должны рулить содержимым и какие блоки должны присутствовать.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 12.9.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(IZ@TOP @  12.9.2006,  13:28 Найти цитируемый пост)
AddGroup 


Повторяю, AddGroup просто добавляет группу в CMS. Где она будет оторбражена (и будет ли отображена вообще) всё ещё решает шаблон естественно. Он может решать это в зависимости от ХМЛ. Это уже по вкусу.

Добавлено @ 15:35 
Цитата(sergej.z @  11.9.2006,  13:16 Найти цитируемый пост)
В принципе я так и думал группам просто имена давать, а в шаблоне разбираться, куда с каким именем лепить. Но это просто надстройка над тем ядром, которое я написал. Просто на бесконечном уровне абстракции надо намного больше времени для работающего варианта. 




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 12.9.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



sergej.z, понял))) В общем тут идет просто вызов модуля и все.

В принципе это уже все будет на уровне ядра. 
Которое, как я надеюсь, в эти выходные выложу для тестов.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 12.9.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(IZ@TOP @  12.9.2006,  13:41 Найти цитируемый пост)
sergej.z, понял))) В общем тут идет просто вызов модуля и все.

В принципе это уже все будет на уровне ядра. 
Которое, как я надеюсь, в эти выходные выложу для тестов. 

Отлично! Хорошие новости!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 12.9.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Цитата(sergej.z @  12.9.2006,  16:50 Найти цитируемый пост)
Отлично! Хорошие новости! 

Раз это так здорово, я там два маленьких файлика кинул для затравки.
Это что-то вроде примера интерфейсности и абстрактности системных классов.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 12.9.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(dm9 @  11.9.2006,  12:27 Найти цитируемый пост)
Я придерживаюсь подхода, при котором сначала загружается базовый шаблон, а потом уже он определяет, что делать дальше

Тут кстати проблема с подгрузкой неопределённых ХСЛ шаблонов. А именно: Нельзя в коде ХСЛ подгрузить шаблон, определённый в ХМЛ или где нибудь ещё. Если бы это было возможным, многое стало бы легче. 
пример: <xsl:include src="$какая_то_переменная.xsl"> нельзя!
Я неsсколько недель над этим бился. ХСЛТ такого на позволяет. Единственно, где можно динамически определить имя шблона - в генерируемом ХМЛ . Один раз при загрузке. Поэтому я сделал подгрузку ХСЛ модуля в первую очередь, а он уже тянет вполне определённые ХСЛ (core, header, footer)

Добавлено @ 17:45 
Цитата(IZ@TOP @  12.9.2006,  15:24 Найти цитируемый пост)
Раз это так здорово, я там два маленьких файлика кинул для затравки.
Это что-то вроде примера интерфейсности и абстрактности системных классов.

Как только появится возможность, посмотрю (где то послезавтра вечером)


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 12.9.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



sergej.z, а что мешает делать import в шаблоне? 
К примеру включаемый XSLT шаблон имеет имя вроде
file-003154.41.5151.5615.1.xsl
При запросе пользователем там компануется XSLT шаблон на сервере, я так сам делал.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
smartov
Дата 12.9.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



http://sergejzr.jino-net.ru/vcms/ мёртв smile

Добавлено @ 23:39 
Оп, прошу прощения, не мёртв! Но хочу обратить внимание что в Опере ничета не работает
PM MAIL   Вверх
IZ@TOP
Дата 13.9.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



smartov, опера тихонько курит в сторонке.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 13.9.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(IZ@TOP @  12.9.2006,  16:00 Найти цитируемый пост)
sergej.z, а что мешает делать import в шаблоне? 
К примеру включаемый XSLT шаблон имеет имя вроде
file-003154.41.5151.5615.1.xsl
При запросе пользователем там компануется XSLT шаблон на сервере, я так сам делал. 

Компановать ХСЛ динамически конечно можно. Только с кэшированием надо всё правильно определить. В принципе неплохое решение. Хотя конечно с ХСЛ файлами было бы элегантнее, но если нам возможность не дают (кстати, кто нить знарт, почему?)...


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 14.9.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



sergejzr, не, не в курсе почему нельзя на лету их подключать...

А с кешированием все просто: у нас имеется конструктор шаблонов, он их генерирует на основе уникального урла и отдает юзеру. Вопрос наверное только в том чтобы отдавать правильную дату модификации.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 14.9.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Вчера попробовал... Вопрос такой: Если шаблоны генерить, как будет работать серверное преобразование?
Вчера я искал решение этому, но никак не нашёл. Пока остаётся только предложение опере серверное преобразование делать, а все шаблоны печатать одинаковыми.

Вообще у нас всего в одном месте генерить надо было бы. Там, где различается поведение браузеров.



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 14.9.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



sergejzr, ага. А в чем собственно вопрос по преобразованию? Я проблемы не вижу.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 14.9.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Ну если хсл генерится динамически, то это ведь пхп-файл. Для того чтобы получить ХСЛ, надо его отработать. 
Например пишу:
Код

<?php
print "<?xml version=".......";//итд итп
?>


<xsl:import src="xy.php">

Браузер всё правильно сделает, ведь он будет запрашивать xy.php у сервера и получит правильный стрим.
А что будет делать преобразование на сервере? Ведь для него xy.php так и останется файлом пхп.

(Сорри, если туплю. С сервеным преобразованием пока не работал.)


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 14.9.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Значит так, если мы даем клиенту XSL шаблоны, вставляем ипорты DOM'ом в уже готовый основной шаблон, ну или тот который назначен основным для запрашиваемого документа. В XML вставляется ссылка типа http://www.example.com/xslt-gen/pageid-13143452.xsl. В скрипте, который отрабатывает при этом запросе, достаются все шаблоны привязанные к документу 13143452 и собираются в основном шаблоне.

Если на сервере, то в самом ядре происходит сборка шаблона (вставка импортов), потом преобразование.

Вроде собственно и все.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 14.9.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(IZ@TOP @  14.9.2006,  13:14 Найти цитируемый пост)
Если на сервере, то в самом ядре происходит сборка шаблона (вставка импортов), потом преобразование.

Понятно. Чтож как выход для оперы - вполне нормально.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 15.9.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(IZ@TOP @  12.9.2006,  14:41 Найти цитируемый пост)
В принципе это уже все будет на уровне ядра. 
Которое, как я надеюсь, в эти выходные выложу для тестов.

Как насчет ядра? Сможешь в эти выходные заняться?
PM WWW   Вверх
IZ@TOP
Дата 15.9.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Вов, читай ниже, я уже писал что постараюсь выложить бета версию ядра в эти выходные)))


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 15.9.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



IZ@TOP, я читал. Поэтому и спросил, не поменялись ли планы.
PM WWW   Вверх
IZ@TOP
Дата 15.9.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Wowa, тогда ясно. С планами вроде как определился, так что все нормально.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 17.9.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



IZ@TOP, есть какие-нибудь новости?
PM WWW   Вверх
Wowa
Дата 24.9.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



IZ@TOP, ну как там?
PM WWW   Вверх
IZ@TOP
Дата 25.9.2006, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Wowa, потихоньку дописываю. Оказалось что у меня не так много свободного времени во время здачи проекта))))

Но дело идет по тихоньку. Смотрите каждый вечер обновления.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 30.9.2006, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(IZ@TOP @  25.9.2006,  16:50 Найти цитируемый пост)
Смотрите каждый вечер обновления.

Какие сейчас актуальные проблемы и задачи?
PM WWW   Вверх
Wowa
Дата 30.9.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Я прошу всех разработчиков ознакомиться с ядром системы на SVN и задавать свои вопросы. (один вопрос - одна тема). Иначе потом будет поздно.

Добавлено @ 16:09 
Wowa, насколько сейчас взаимосвязь твоего кода с кодом Сергея?
PM WWW   Вверх
Semenov
Дата 13.10.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.10.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: нет



Подключаюсь, возможно, поздно. 
Предлогаю еще сделать, если есть блок, к примеру, с последними новостями или последними сообщениями в форуме, то нужно типа <xsl:call-module name=News row=10> ну или что-то в таком духе. Удобно.
PM MAIL WWW ICQ   Вверх
Semenov
Дата 16.10.2006, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.10.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: нет



Хотелось бы примкнуть к команде.

Вопрос по модулям:

Код

$vcms=new VingradCMS();

$maingroup=new V_ModuleGroup('Test - Group');
$idx=new IdxModul();
$maingroup->addModule($idx);
$vcms->addLeftGroup($maingroup);

$maingroup=new V_ModuleGroup('Photoalbum');
$idx=new Photoalbum_Modul();
$maingroup->addModule($idx);
$vcms->addRightGroup($maingroup);



а если 20, 30 модулей? Это каждый так надо будет добавлять?
Предлогаю так:
Сначала смотреть какие модули в шаблоне, далее уже в цикле проганять кусок:

Код

$vcms=new VingradCMS();

$maingroup = new V_ModuleGroup( $module );
$LoadModObj = new Modul( $module ); //возвращает объект типа $idx из прошлого куска кода
$maingroup -> addModule( $idx );
$vcms - >addGroup( $maingroup ); //Без Right - нельзя привязывать Right, Left, Center



Ну что-то в таком духе. Пока еще не во всем коде разобрался. Времени не очень много.

Оффтоп: мне кажется или я и вправду поздно подключился. Все утухло, что ли? ((
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 16.10.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(Semenov @  13.10.2006,  11:02 Найти цитируемый пост)
Подключаюсь, возможно, поздно. 

Не поздно. Просто пока, как видишь, затишье. У меня лично это связано с временным отсутствием инета. 

Цитата(Semenov @  16.10.2006,  08:20 Найти цитируемый пост)
а если 20, 30 модулей? Это каждый так надо будет добавлять?

Естественно нет. Названия подключаемых модулей, их позиция итд. беруться из БД. Потом подгрузка непосредственно модулей (их ХМЛ)

Цитата(Semenov @  16.10.2006,  08:20 Найти цитируемый пост)
Сначала смотреть какие модули в шаблоне

Шаблон не определяет, какие именно модули. А то придётся его перекраивать при каждом изменении. Как я уже писал, это делает БД.



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Semenov
Дата 16.10.2006, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.10.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: нет



Ок, ясно smile
Я так и хотел предложить.

Добавлено @ 14:08 
А как мне вообще принять участие в разработке? Если, конечно, команда не против.
PM MAIL WWW ICQ   Вверх
Wowa
Дата 21.10.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Semenov @  16.10.2006,  13:07 Найти цитируемый пост)
А как мне вообще принять участие в разработке? Если, конечно, команда не против. 

Настрой доступ на SVN, загрузи исходники того, что мы уже написали. Ознакомься с ними и предложи то, что ты хотел бы делать.
PM WWW   Вверх
Semenov
Дата 23.10.2006, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.10.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: нет



>>Настрой доступ на SVN, загрузи исходники того, что мы уже написали. Ознакомься с ними и предложи то, что ты хотел бы делать. 

С SVN все слил, ознакомился. Думаю, хотел бы, заниматься какими либо модулями. В api многое понравилось, так что туда не буду лезть ))
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 25.10.2006, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Semenov, там сейчас вроде как два API. Одно мое - другое Сергея. 
Они в общем похожи, по идеологии, но есть отличия в архитектуре.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Semenov
Дата 30.10.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.10.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: нет



Я смотрел Сергея. Сейчас посмотрю твое )
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Vingrad CMS | Следующая тема »


 




[ Время генерации скрипта: 0.4202 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.