ErsteVorherige1...45678910NächsteLetzte
SunChase |
|
---|---|
Также весьма интерестный баг:
В текстбоксере когда есть кавычки "" (пример "Лучше качество,а не количество"при сохранении выводит так: \\\\\\\"Лучше качество,а не количество\\\\\\\" также при '' таких ковычках тоже самое вылазит только по \\\' поправка.При каждом изменении страницы количество \\\\ увеличивается [url=http://ka13.orgfree.com]KA13[/url] - The essence of creativity
|
|
Dieser Beitrag wurde von SunChase (am 15. Juli 2009, 03:20, vor 15 Jahre) bearbeitet |
Sergey |
|
---|---|
Вот из свеженького, у меня есть плагин конфигурации под мобильный сайт. Вот языковый файл:
$L['cfg_dev_mob_im_width']= array('Ширина экрана у имитируемого мобильника'); $L['cfg_dev_mob_im_height']= array('Высота экрана у имитируемого мобильника'); $L['plu_title_mobilconfig'] = 'Common параметры для мобильного сайта'; $L['com_mobilskinfail'] = 'Предупреждение: не удалось загрузить выбранный вами скин мобильного web, проверьте настройки, установленные в профиле плагина mobilcommon.'; $L['mobile']='Мобильник'; $L['computer']='Компьютер';так вот в когда включаешь админку, часть этого файла берется уже из англицкой версии, и непременно вот эти строчки $L['mobile']='Mobile'; $L['computer']='Computer';Весело ![]() //$lang=$usr['lang'];"; require_once(sed_langfile('mobilconfig'));Когда убираешь комментарий, естественно все зеркально ![]() ![]() www.cotonti.mobi
|
|
Dieser Beitrag wurde von Sergey (am 15. Juli 2009, 03:20, vor 15 Jahre) bearbeitet |
Dayver |
|
---|---|
Ну про экстра поля это может работать таким образом .... сейчас категория имеет довольно скудный набор полей .... имя, описание, иконка, путь и из значимых все .... если можно будет создать екстра поле(я) то в таком поле можно будет указать свойсвто которое будет характеризировать каждую категорию .... ну например одно поле будет заполнятся характеристикой "цвет", другое поле "размер", еще одно "форма" (примеры взяты из наглядной статьи поясняющей суть термина таксонамия по отношению к упомянутой друпале)... тогда такой функционал екстра-полей + не сложный плагин(который уже не потребует вклиниватся в ядро) позволит решать как сортировку\фильтровку так и еще много задач описываемых таксонамией
З.Ы. сорри подправил предидущий пост не заметив что на него уже есть ответ Добавлено 17 Минут спустя: # SunChase : Также весьма интерестный баг:Это где? в слотах меню? или еще где вылезло? Pavlo Tkachenko aka Dayver
|
|
Dieser Beitrag wurde von Dayver (am 15. Juli 2009, 03:38, vor 15 Jahre) bearbeitet |
Trustmaster |
|
---|---|
SunChase, баг с PM не замечен. По крайней мере, если ты получил мой ответ на своё сообщение, значит форма быстрого ответа всё-таки работает. Баг с лишними слешами к кавычкам исправлен в 3-й бете.
Added 8 minutes later: Насчёт таксономии в частности, думаю копать дальше в сторону CCL (не забываем про волшебный Select language). Есть документакция к либе на русском, но без примеров и пояснений (только API). Очень сырая версия, однако даёт представление о том, как можно создавать унифицированные модели предметной области на лету. May the Source be with you!
|
|
Dieser Beitrag wurde von Trustmaster (am 15. Juli 2009, 04:08, vor 15 Jahre) bearbeitet |
SunChase |
|
---|---|
Trustmaster,спасибо за быстрое реагирование
[url=http://ka13.orgfree.com]KA13[/url] - The essence of creativity
|
Trustmaster |
|
---|---|
Всё течёт, всё изменяется. А раз изменяется, то возникают новые ошибки и проблемы - это закон разработки ПО. Если вам нужен движок, который не меняется (как латынь), то это Seditio. В частности, чтобы сделать так, чтобы можно было любой вопрос решить с помощью включения модуля/плагина, необходимо провести достаточно большую работу, которая без всяких сомнений породит новые ошибки и необходимость корректировать имеющийся код. И не надо думать, что это просто - один раз сделал оптимальную корректировку и забыл навсегда.
Насчёт масштабных изменений, планируемых в Ренессансе, кратко:
Added 12 minutes later: По поводу РУ-поддержки и поддержки в принципе, могу предложить вот что:
May the Source be with you!
|
|
Dieser Beitrag wurde von Trustmaster (am 15. Juli 2009, 04:50, vor 15 Jahre) bearbeitet |
Sergey |
|
---|---|
Я прочитал "дискуссию" про АПИ плагинов. Я не нахожу предмета обсуждения. Его нет. Если посмотреть на систему прав седа, то она имеет перспективу, но опять ограниченную. имеется по крайней мере 8 опций доступа, пока используем и часто неграмотно всего 4. Обсуждение свелось к механизму реализации. а не к методам построения и управления. Но и сама система прав важна, но и она не главная, это частность. Проблема в том, что сама структура построения этой CMS статична и представляет из себя груду камней, из которых сложено нечто, но работающее. Я не вижу проекта, я вижу пожелания построить дом.
www.cotonti.mobi
|
Trustmaster |
|
---|---|
Верно, классического проекта с детализацией и утверждением ТЗ нет. Этот проект экстремальный, он реагирует на запросы пользователей и корректирует задачи по ходу дела. А классический детерминистский подход тут вряд ли возможен - или 2 миллиона долларов в студию, офис в Амстердаме и команду привычных к классическим канонам разработчиков. Взгляните на другие движки, развиваемые сообществом, там ситуация немногим яснее.
Added 5 minutes later: Вообще я считаю, что ТЗ - это архиважная вещь, хотя бы на отдельные задачи. Но реальность такова, что вести подробную проектную документацию до сих пор не представлялось возможным. May the Source be with you!
|
|
Dieser Beitrag wurde von Trustmaster (am 15. Juli 2009, 05:28, vor 15 Jahre) bearbeitet |
Sergey |
|
---|---|
Совершенно с вами согласен. Проект, в его классическом понимании, появится скорее как постфактум в форме документации, но работающий концептуальный пример в нашем деле может заменить стопку мало нужных ТЗ, а вот его я не вижу. Конечно, можно предложить, но будет ли это СЕД (пока от него еще не ушли) или это будет клон с другими именами полей баз, что тоже вызовет сумятицу, так как и это часть имеет свою функциональную сущность. Вот например из вашей переделки: транк 775 list.inc.php
82 elseif ($c == 'unvalidated') 83 { 84 $sql = sed_sql_query("SELECT COUNT(*) FROM $db_pages 85 WHERE page_state = 1 AND page_ownerid = " . $usr['id']); 86 $totallines = sed_sql_result($sql, 0, 0); 87 $sql = sed_sql_query("SELECT p.*, u.user_name ".$join_ratings_columns." 88 FROM $db_pages as p ".$join_ratings_condition." 89 LEFT JOIN $db_users AS u ON u.user_id=p.page_ownerid 90 WHERE page_state = 1 AND page_ownerid = {$usr['id']} 91 ORDER BY page_$s $w LIMIT $d,".$cfg['maxrowsperpage']); 92 $sed_cat[$c]['title'] = $L['pag_validation']; 93 $sed_cat[$c]['desc'] = $L['pag_validation_desc']; 94 }добавили к трем непроходимым для плагинов блокам, еще один блок-подножку почему бы не так: $want_standart_read_table=TRUE; //вызов плагина альтернативного варианта чтения if ($want_standart_read_table) {//читаем как было} else {// читаем как хочет плагин}и ставили бы свою четвертую часть, а я бы свою. Как видите методов модернизации очень много не нарушая схемы известного. www.cotonti.mobi
|
Trustmaster |
|
---|---|
О том и речь! Решается это очень просто: вы говорите - "А вообще-то лучше было бы, если бы в этом месте был хук и проверка такого условия, тогда можно своими плагинами организовать любой листинг". Мы тут же: "Точно, и как только раньше никто об этом не подумал!". В итоге добавляется хук/проверка, и все счастливы.
Сейчас как раз правлю этот кусок, ибо счётчики страниц врут и перекашивают пагинацию. Так что не поздно и проверку на перегрузку запроса в плагине вставить. Added 4 minutes later: Правда есть тут одна загвоздка: это далеко не единственный такой кусок, где нужна "перегрузка" запросов в плагинах. Поэтому не помешало бы составить список таких мест, выработать единый подход реализации такой "перегрузки" и написать пару строк о том, как ей пользоваться. Об этом, кстати, шла речь в той же теме про АПИ, но скорее как вопрос "нужно ли" да/нет. Конкретика и примеры начинаются тогда, когда кто-то уже собирается приступать к реализации. May the Source be with you!
|
Sergey |
|
---|---|
Да я знаю о проблему со счетчиком. Он неправильно считает. Но введя свое видение, что page_state может быть только 1 или 0 (хотя есть и 2) вы показали пример "грязного" кода, в исходном было куда как логичнее - свое ставлю и свое меняю. Я вот, например в плагине имею еще и другие варианты значений page_state и естественно свою концепцию развития этого поля Убил целый день, чтобы обойти эту засаду, уже операторов 50, но так еще и не смог решить проблему до конца, т.к эту несчастную таблицу sed_pages с разным успехом на коротком участке умудрились несколько раз открыть, модернизировать и наставить глупых проверок.
www.cotonti.mobi
|
Trustmaster |
|
---|---|
Поэтому, как отметил dayver, о своих трудах надо говорить и не стесняться делать свои замечания. Ведь иначе нам просто не узнать, что есть не только 0 и 1, но ещё и 2.
Кстати, раз уж там числа вместо именованных констант, мне всё же казалось что 1 значит UNVALIDATED. Или я не прав, и UNVALIDATED означает != 0 ? May the Source be with you!
|
Sergey |
|
---|---|
Вы считаете что if ($usr['isadmin'] && $cfg['autovalidate']) т.е. меняет права админ в сторону $page_state = 0;
sed_sql_query("UPDATE $db_structure SET structure_pagecount=structure_pagecount+1 WHERE structure_code='".sed_sql_prep($newpagecat)."' "); а для не админа ставите $page_state = 1 и уводите видимость страницы из списка, а таблицу db_structure надо корректировать в сторону structure_pagecount=structure_pagecount-1 Но это так мелочь. А у меня куча значений $page_state, что несомнено веселей, это пытаюсь изобразить плагином, а ранее таблицу уже испортили. www.cotonti.mobi
|
Trustmaster |
|
---|---|
Ну откуда ж мне было знать, что может быть куча значений page_state, которые к тому же вычисляются друг относительно друга. Я тут скорее скопировал образ и подобие Seditio.
Напрашивается только одно - надо добавлять в этот кусок поддержку плагина, иначе всю арифметику не предусмотришь. May the Source be with you!
|
Sergey |
|
---|---|
Если подойти философски к проблеме модернизации модулей, то напрашивается желание просмотреть этот модуль на "события".
Например, имеется непреодолимое событие на 21 строке list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('page', 'any'); sed_block($usr['auth_read']);Я уже сказал, что имеется 8 ключей доступа, здесь извлекается 3. Но нет возможности установки плагина на преодоления этого события. Естественно пришлось подгружать этот модуль в другом модуле предварительно создав ложную ситуацию для преодоления этого события. Хорошо, что по опции $a=='update' сразу следует хук и можно востановить правильное состояние. Раз вспомнил это место $a=='update' в модуле и. что есть возможность "правильно" подготовить update через хук page.edit.update.first это хорошо, но вслед ваши усилия будут затерты и нет возможности восстановить и добавит корректировки т.к идет непреодолимый $ssql = "UPDATE $db_pages SET. Да, затем есть хук page.edit.update.done и, что еще раз "UPDATE $db_pages SET. ? но уже с скорректированными параметрами. а перед UPDATE его нет, так зачем он после? Вот я показал два примера "грязного" кода. Я понимаю, что требовать в этой ситуации трудно, но тут еще собираются воткнуть аякс, как я понял, и дай бог не похожим методом. www.cotonti.mobi
|