esclkm |
|
---|---|
ув. Ratibor я ее решил! так но ты не принимаешь этого решения. так как оно тебе не нравится
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
Trustmaster |
|
---|---|
Попрошу без грубостей и матюгов. Кстати, по поводу кэша в IE, советую обратить внимание на утилитку rc.php, которая идёт в поставке с Cotonti.
А вот о сути вопроса, дело вот чём: совсем вытравить html из движка не так уж и просто. Больше всего это видно как раз на элементах управления. Вот еще один пример: многочисленные selectbox'ы. Попробуйте вынести их формирование в шаблоны, и у вас получится как минимум по два вложенных блока сразу (хотя с новыми логическими конструкциями будет немного проще это реализовать) на каждый такой выпадающий список. Но если взглянуть на это с другой стороны, не всё так страшно, дело только в привычках и совместимости со старым кодом (не учитывать последнее - ошибка большинства успешно провалившихся революционеров). К примеру, задача о 4 редакторах для блондинки. Без плагина, который будет управлять логикой, не обойтись - аксиома. Необходимость управления выводом тэга - гипотеза. Опровергаем: добавляем в шаблон логические блоки для вывода соответствующего HTML в зависимости от того, какие условия в плагине выполнились; для textarea так же можно управлять атрибутом class. В общем, очень даже решается задача, но шаблоны выходят очень громоздкими, много повторяющегося кода в разных шаблонах. Как это устранить? Вынести редактор в отдельный шаблон, результат рендеринга которого выводится по привычному тэгу. У этого способа тоже свои минусы есть, но есть они у любого способа вообще. Будем считать, мы неплохо поупражнялись. Теперь чтобы было и нашим, и вашим, лучше всего подходит последнее предложение Ратибора (если ошибочку исправить сначала, конечно). А вот если вести речь об удалении всех контролов из кода и выноса их в шаблоны, то надо открывать отдельную тему и готовиться писать кучу стандартных шаблонов для таких вещей. ЗЫ: не встречал ни одной MVC-CMS, в которой M, V и C разделены на 100%; как правило идут на уступки, либо вообще пускаются во все тяжкие. May the Source be with you!
|
|
This post was edited by Trustmaster (2009-03-22 14:26, 15 years ago) |
esclkm |
|
---|---|
Trustmaster. Можно сделать логику 1 раз в хедере и по классу пользователя подключить те или иные библиотеки.
по поводу редактора ratibora -1. можно подключить скриптом - чтобы за 1 раз перебрать все ид реакторов. 2. Можно подключить к любому тегу выше- и опять все выполняется как надо. 3. можно через Jquery подключить по классу. По поводу задачи от ратибора: 1. написать маленький плугин который будет загружать в шапке те или иные скрипты в зависимости от наших желаний. Имхо плагины смотрятся приятнее когда там 2-3 файла а не бордат файлов с абсолютно одинаковым содержанием. 2. взять логику от медара и сделать все тоже самое. (в итоге выходов море) Зато так я могу как пароноик вместо формы ответа вставить хоть селекта хоть инпута.? жестоко? а возможность то такая сейчас есть. littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
Ratibor |
|
---|---|
# esclkm : Зато так я могу как пароноик вместо формы ответа вставить хоть селекта хоть инпута.? жестоко? а возможность то такая сейчас есть.Элементарно, перехватываешь FORUMS_POSTS_NEWPOST_TEXTBOXER и вместо textarea выводишь что душе угодно и как угодно. Это раз. А два - это то что мой вариант исправлений ядра включает и твой вариан, так что не пойму в чем притензии ? А в тех двух вариантах что ты описал, придется наворачивать либо плагин, либо шаблон. И в том и в другом случае это неоправдано лишний код и тормоза. А также это не будет универсальным решением, а будет привязано к конкретному скину. Я же тебе не указываю как плагины писать, а вот почему ты другим указываешь как их писать ? Еще раз специально для тебя: я не против выноса textarea из ядра, мне вообще до фонаря что выводится по FORUMS_POSTS_NEWPOST_TEXTBOXER, главное чтоб этот тэг был. Но я категорически против включени в скин textarea. В скине должно быть только: <!-- BEGIN: FORUMS_POSTS_NEWPOST -->
<form action="{FORUMS_POSTS_NEWPOST_SEND}" method="post" name="newpost">
<div style="width:100%;">{FORUMS_POSTS_NEWPOST_TEXTBOXER}</div>
<div class="valid"><input type="submit" value="{PHP.skinlang.forumspost.Reply}" /></div>
</form>
<!-- END: FORUMS_POSTS_NEWPOST --> и ничего более. Не задавай глупых вопросов, не услышишь вранья.
|
|
This post was edited by Ratibor (2009-03-22 17:07, 15 years ago) |
Trustmaster |
|
---|---|
Неоправданно лишний код и тормоза - это плагин из 30 частей, реализующих одно и то же.
Мне это напоминает кое-что, с чем периодически сталкиваюсь со времен первого публичного проекта: нежелание менять привычки. Регулярно встречаю людей, выступающих категорически против JavaScript, CSS и т.д. где-либо, аргументируя это тем, что все это можно реализовать с помощью PHP и без всяких модных штучек. То же самое касается шаблонов, MVC, СУБД, чего угодно в принципе. Зачем придумывать новый костыль, если можно сделать по-старинке? Но стоит приобрести небольшой опыт, и консерватизм улетучивается. Что я хочу сказать: Богу богово, Кесарю кесарево. Немного логики. Формировать комплексную разметку в коде - это приемлемо только если такое понятие как "скин" или "тема" в проекте отсутствует напрочь. Формировать простую разметку в коде - это типичное решение для движков на CSS шаблонах. Но ни Seditio, ни Cotonti к ним не относится. В принципе, я не против CSS-шаблонов, особенно если в разметке выдержан принцип семантической верстки, а скинмейкер - гуру в CSS, но на практике это встречается очень редко. Так что вынести всю разметку из ядра и отдать весь контроль над HTML и стилями скинмейкеру - для Cotonti не такая уж блажь. Но с другой стороны, если принять во внимание, что редактор - это не всегда textarea и не всегда с одним набором атрибутов, то можно прийти к тому, что формирование HTML кода будет переложено с плеч PHP-плагина на плечи JS-плагина, предварительно снабженного данными с сервера. Некрасиво? Недостатки есть у любого метода. Учитывая это, а также различные привычки и отсутствие единого стандарта на создание скинов, я и допускаю возможность плюрализма в данном вопросе. Если оптимальное решение еще не созрело, то целесообразно дать ему созреть, а не отрубить ветку взмахом топора. Мне вот кажется, тут мы имеем попытку решения проблемы обходными путями, потому как проблема заключается не в том, что должен выводить плагин, а в том, как его стандартно подключать. Если бы был универсальный хук editor, реализующий необходимое взаимодействие между плагином редактора и целевым шаблоном, всего этого спора вообще не было бы. А вот каким образом организовать такой хук, учитывая сотню мелочей - это другой вопрос. May the Source be with you!
|
|
This post was edited by Trustmaster (2009-03-22 17:54, 15 years ago) |
Ratibor |
|
---|---|
# Trustmaster : Но с другой стороны, если принять во внимание, что редактор - это не всегда textarea и не всегда с одним набором атрибутов, то можно прийти к тому, что формирование HTML кода будет переложено с плеч PHP-плагина на плечи JS-плагина, предварительно снабженного данными с сервера. Некрасиво?Красиво пишешь Я не против "модных штучек", я против бездумного их применения. Конкретно маркитап подгружается бездумно где надо и не надо, причем это сказывается на конечном пользователе. Дайте мне хотябы один вменяемый ответ зачем к примеру вот здесь грузится маркитап ? А как подключен fckeditor, на конечном пользователе не сказывается, т.к. он грузится ровно там где он нужен. И конечному пользователю не важно из скольки частей состоит плагин редактора, тем более что из файлов подключения fckeditior можно выкинуть попторяющийся код и потом просто его инклюдить. В общем важен сам принцип, а не конкретная реализация. # Trustmaster : Если бы был универсальный хук editor, реализующий необходимое взаимодействие между плагином редактора и целевым шаблоном, всего этого спора вообще не было бы. А вот каким образом организовать такой хук, учитывая сотню мелочей - это другой вопрос.Так как вывод редактора организован сейчас, это и является фактически хуком. И сейчас не важно каким методом реализовано подключение редактора, важно что любой редактор пользователь может лекго подключить не правя скина. Если есть более красивое и действительно универсальное решение я не против, но то что предлагает esclkm это как раз уничтожение всей универсальности и гибкости. Не задавай глупых вопросов, не услышишь вранья.
|
|
This post was edited by Ratibor (2009-03-22 18:53, 15 years ago) |
esclkm |
|
---|---|
ладно. я все пытаюсь в асю к трасту достучаться не получается увы. ( я хотел спросить по поводу выноса в международ ветку данной беседы)
Давайте плюсы и минусы каждого из способов А. способ в выносом техтареа в скин 1. можно изменить textarea на любой из input быстро и безболезненно 2. Практически любой редактор кроме textboxer2 можно подключить (textboxer2 после долгой научной мысли и его обновления думаю тоже можно сделать) 3. можно менять атибуты textarea 4. можно изменить класс ( ну допустим у нас сейчас эдитор на форуме - а мне вообще не надо чтобы пользователи а форуме строили таблицы - я поставлю спокойно миниэдитор) 5. при правке скина текстбоксер спокойно пойдет. 6. редакторов для нашей системы не так и много : маркитап текстбоксер (но он уже практически был не совместим -в связи с тем что теги многие поменялись, да и проблем внутренних у него очень много было - класса 2 маркитапа на страницу - верный признак того что 1 из них работать не будет), fckeditor - от ув. ратибора(который при помощи соответствующего плагина можно подключить по классу) - поэтому стандарт мы делаем сами. 7. для внесения изменений достаточно дизайнера ("дизайнеров" по жизни как-то больше чем программистов) 8. дизайнер сам решает где ему нужен редактор а где нет. хоть это было расписано немного выше Б. Способ "по-старинке" 1. кажущаяся унифицированность. Можно включить текстбоксер просто установкой. 2. к нему как к способу уже привыкли (хотя не знаю как это привычкой назвать - когда был всего 1 редактор - а остальные народ мучался и подключить не мог - кто спорит - привет от neocrome.ru - читайте там - не одна дискуссия была по этому поводу) 3. в изначальной комплектации идет плагин созданный ув. Ratibor 4. для внесения любых изменений нужен программист --------------------------------- P.S. Интересных дакторов в сети не так много: но вот самые интересные ссыылки: http://www.ecardmax.com/index.php?step=Hoteditor http://tinymce.moxiecode.com/examples/example_09.php# http://www.neocrome.ru/forums.php?m=posts&p=8624 http://www.neocrome.ru/forums.php?m=posts&p=19552#19552 littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
|
This post was edited by esclkm (2009-03-22 20:42, 15 years ago) |
Ratibor |
|
---|---|
esclkm
Будь объективным А. способ в выносом техтареа в скин 1. Только правкой скина, в итоге никакой универсальности. 2. Нет желания даже комментировать. 3. опятьже, только правкой скина, никакой универсальности. 4. опятьже, только правкой скина, никакой универсальности. 5. И конечно же каждый скинмейкер это в состоянии зделать 6. Нет желания даже комментировать. 7. Нет желания даже комментировать. Б. Способ "по-старинке" 1. Полная унифицированность. Можно включить абсолютно любой редактор просто установкой. 2. к нему как к способу уже привыкли, т.к. он является универсальным стандартом. 3. без комментариев 4. бред сивой кобылы. esclkm Еще раз специально для тебя. Есть такой аргумент - я хочу. Причем у каждого человека свое - я хочу. Он перевешивает все остальные аргументы вместе взятые. Существующий метод вывода текстового редактора позволяет реализовать каждому свое "я хочу". Трастмастер хочет через шапку яваскриптом подключать редактор, я хочу подключать, так как подключил fckeditor. Оба метода не противоречат друг другу и позволяют пользователю лекго сменить редактор один на другой. Если хочешь изменить этот метод, то придумай чтоб при этом также каждый смог реализовать свое "я хочу" и при этом этот метод должен быть универсальным. Не задавай глупых вопросов, не услышишь вранья.
|
|
This post was edited by Ratibor (2009-03-22 20:35, 15 years ago) |
Trustmaster |
|
---|---|
Совершенно согласен, что нехорошо markitup подключается в шапке, но это наименьшее зло, которое я мог сделать. Делать по куску плагина на каждую вставку - это расточительно, это меня раздражало в textboxer и раздражает в fckeditor. Когда я говорю о хуке, я говорю о исполнении целевого кода в текущем окружении и возврате его вывода в шаблон, а не о переписывании стандартного тэга. То есть редактор надо вызывать там где он нужен, а не ждать, пока он сам всавится туда, где у него получится. Примитивно это можно выразить так:
'FORUMS_POSTS_NEWPOST_EDITOR' => editor_display() May the Source be with you!
|
Ratibor |
|
---|---|
Trustmaster
Я не против этого, это фактически правильная реализация существующего метода. Не задавай глупых вопросов, не услышишь вранья.
|