Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 22.06.2012, 13:22
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от B~Vladi
Как пиздато самим с собой разговаривать
и не говори, главное тебя слышат

А вообще я наблюдаю за развитием твоего проекта, пока не придумал конечно куда это внедрить. Но мысли некоторые навивают.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #32 (permalink)  
Старый 22.06.2012, 13:39
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от devote
А вообще я наблюдаю за развитием твоего проекта

Из последнего: закончил реализацию тега script, буквально пару часов назад. Пара примеров:
<tsn:script>
<[CDATA[
  // Код выполняется в глобальной области видимости шаблона.
  // Созданные переменные будут доступны в других JS-выражениях и тегах script.
  var data = {
    key: 'value'
  };
]]>
</tsn:script>
<tsn:echo data="data.key" />

Выведет: "value".

Или так:
<tsn:script type="local">
<[CDATA[
  // Код выполняется в локальной области видимости анониймной функции.
  // Тег этого типа может выводить текстовые данные в результат через return:
  return 'Text';
]]>
</tsn:script>

На выходе: "Text".

Ещё есть атрибут context в теге типа local, работает так же как и в других тегах.

Вообще раньше я был против подобных возможностей в шаблоне, но потом понял, что раз шаблон реализует view-логику, то такой тег необходим для написания костылей или упрощения преобразования данных. Как вариант, в нем можно создавать функции-модификаторы, что бы потом использовать в JS-выражениях в других шаблонах.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 22.06.2012 в 13:41.
Ответить с цитированием
  #33 (permalink)  
Старый 22.06.2012, 21:33
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от B~Vladi Посмотреть сообщение
Как пиздато самим с собой разговаривать
Я успеваю только иногда просматривать тему. Я даже бы взял шаблонизатор и прикрутил его, но останется только заставить всех хостеров поддерживать node.js.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #34 (permalink)  
Старый 22.06.2012, 23:06
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Gozar
но останется только заставить всех хостеров поддерживать node.js.
Вопрос времени. Да и хостеров хватает. Немного погодя будет версия, не привязанная к NodeJS, нужен будет только интерпретатор JS. На работе собираемся внедрить. Вы бы писали что требуется, я же не в курсе всего...
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #35 (permalink)  
Старый 24.06.2012, 14:11
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

В примере есть одно некрасивое решение с переопределением блока CONTENT. Сейчас, что бы обернуть существующий блок в разметку и заменить его, нужно изъебываться с сохранением в хранилище данных результат рендеринга блока. Для такой ситуации я реализовал новый тип блока wrapper:
<tsn:block name="CONTENT" type="wrapper">
	<div class="service">
		<tsn:render block="CONTENT" />
	</div>
</tsn:block>


Этот блок сначала сохраняет глобальный блок с именем name как локальный, а затем заменяет глобальный блок собой. Это позволяет вызывать оригинальный блок CONTENT внутри блока типа wrapper, потому как локальные блоки имеют больший приоритет при использовании тега render.
Если смотреть на код шаблона, не должно возникать двусмысленностей с именами блоков, если знать про тип wrapper.

Как вам такое решение? Пока не пушил на гитхаб.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #36 (permalink)  
Старый 02.08.2012, 20:18
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

B~Vladi,
вот сижу выбираю шаблонизатор какой нить, но нужен что бы работал c PHP а не NodeJS, есть идеи? Твой реально на PHP переписать? И как ты на это смотришь?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #37 (permalink)  
Старый 02.08.2012, 22:01
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от devote
нужен что бы работал c PHP
Пэхапэ отстой, юзай ноду

Сообщение от devote
есть идеи?
PHP?! smarty?

Сообщение от devote
Твой реально на PHP переписать?
Конечно реально, там нет ничего магического. Особенно если найдется подходящий SAX-парсер.

Сообщение от devote
И как ты на это смотришь?
Вообще я не против, даже буду всячески способствовать, но сам писать не буду, ибо см. первый ответ.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #38 (permalink)  
Старый 02.08.2012, 22:07
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от B~Vladi
Пэхапэ отстой, юзай ноду
я бы с удовольствием, но увы не везде есть нода.

Сообщение от B~Vladi
Вообще я не против, даже буду всячески способствовать, но сам писать не буду, ибо см. первый ответ.
ясно.. Тогда сам перепишу его на пыху. Отпишусь сюда.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #39 (permalink)  
Старый 02.08.2012, 22:34
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от devote
Тогда сам перепишу его на пыху.
Он будет компилировать шаблон в PHP-код?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 02.08.2012 в 22:41.
Ответить с цитированием
  #40 (permalink)  
Старый 02.08.2012, 22:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от B~Vladi
Он будет компилировать шаблон в PHP-код?
зачем, в JS конечно же.. или не? или у тебя во что-то другое компилит?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция system kilogram Серверные языки и технологии 6 22.03.2012 09:36
Browser : Operating System x-yuri Оффтопик 11 22.02.2012 14:44