броузер случайно не опера (у меня 9.50)? иногда она автоматом после сабмита формы подставляет странные значения (см. скрин; блок "Last videonews"). в ИЕ все нормально. такой бред наблюдался только на 1 сборке друпала...
а мой вариант чем не подошел? При помощи него можно настроить вывод полей формы правки/создания ноды как вам надо. Или вам все-таки необходимо нечто большее, чем темизация формы?
Надо перекрыть в вашей теме вывод theme_node_form():
1. Открываете node.pages.inc
2. Ищете функцию theme_node_form().
3. Копируете ее в файл template.php вашей темы и обзываете {название_темы}_node_form (garland_node_form)
4. Очищаете кеш регистра тем
внутри функции нода доступна так:
$node = $form['#node']
Соответственно тип:
$type = $node->type (или $form['#node']->type)
Такой треш и угар (expected to be a reference) массово у меня появляться стал, когда обновил PHP до версии 5.3. Возможно отдельные модули его не поддерживают корректно.
в hook_update() $node -- не нода... а что-то типа (object)$form_state['values'] при обработке (submit, validate) форм... вобщем совпадает с $node в hook_insert()
Путь $form_state['values']->$node в hook_update() можете сами отследить в этих функциях:
node_form_submit()
node_form_submit_build_node()
node_submit()
node_save()
node_invoke() -- тут запускается hook_update()
к сожалению force index/use index осиливает только mysql (и еще кто-нить наверно)... да и в друпале есть hook_db_rewrite_sql, в результате которого where-часть может поменяться.
хм. попробовал на версии 1.2 проделать то же самое. все корректно. попробуйте удалить (полностью -- с uninstall-ом) модуль profile role и потом поставить заново. Настроек там восстанавливать почти ничего -- только пару сопоставлений.
Стоит проверить:
1. Включили вы свой модуль на страничке с модулями.
2. Не забыли ли обновлять каждый раз страничку с модулями после внесения каких-либо правок в hook_menu()
3. Не забыли ли вы про access callback/access arguments (забыли), иначе просто ничего открываться не будет (даже у суперадмина). Начните пока разбираться с 'access arguements', потом дойдете до access коллбека:
Если создавать путь в редакторе, то разве нельзя указать "/myfolder/myfile.ext" (путь к файлу http://mysite/myfolder/myfile.ext)? т.е. просто слеш вначале?
Если создавать внутри модуля, то надо смотреть в сторону [ru-api=file_create_url]file_create_url()[/ru-api]. Файл должен лежать в файловой директории! Ф-ия учитывает публичный/приватный варианты.
serzzzh, думаю организовать нормальный документооборот на друпале будет затратнее чем поставить уже готовую систему. Да и php для несимметричной криптографии использовать -- смерти подобно. Ключи бит в 1500 на тот же рса будут генерироваться миллиард лет. Хотя можно (и нужно), конечно, использовать расширения pecl и д.р. (crypto_rsa что-ли), писать приложения и связывать их с CMS.
Взгляните лучше в сторону готовых программных продуктов. С полгода назад нам в универе показывали презентацию с расценками. вродебы не шибко дорого. да и отлажено и проверено все.
Про ф-ию format_date() можно прочитать на сайте [ru-api=format_date]с апи[/ru-api]
Это ручное форматирование (для одиночного вывода). Однако если такой формат нужен будет всегда, то краткий формат даты можно изменить на нужный на страничке admin/settings/date-time и потом писать просто format_date($vars['node']->created, 'small').
Обычно, при каждом открытии странички с модулями чистится некоторое кол-во кеша ([ru-api=drupal_rebuild_theme_registry]drupal_rebuild_theme_registry()[/ru-api] и [ru-api=cache_clear_all]cache_clear_all[/ru-api]('schema', 'cache')) + перезагружается вся система меню ([ru-api=menu_rebuild]menu_rebuild()[/ru-api]). Думается перезагрузка меню и занимает как раз наибольшую часть времени открытия этой странички.
а) и если вдруг вы случайно очистите всю таблицу "menu_links", то друпал умрет (толькочто сделал такое и он у меня умер о пхп-синтаксис-ошибкой). Достаточно в броузере набрать путь "admin/build/modules". И меню самоперезагрузится.
Посмотрел модуль. Он вообщем делает что-то мозговзрывающее в функции admin_menu_adjust_items() файла admin_menu.inc
Для удаления последствий, надо, как мне кажется, просто валидно удалить модуль.
Для этого достаточно в phpmyadmin:
1. Выполнить запрос: DELETE FROM menu_links WHERE module = 'admin_menu'
2. Очистить табличку cache_menu, ну и бонусом основной кеш (cache) удалить.
Все эти действия выполняются в admin_menu_uninstall() инсталляционного файла (admin_menu.install) злосчастного модуля.
исходников этой таблицы быть не должно. браузеры не отображают изменения в исходном коде страницы, которые произошли после ее загрузки, тобишь табличка, которая добавилась в дом по нажатию alt+f3 не отобразится.
надо взять файрфокс с плагином firebug. выбираете файл, аттачите его и на вкладочке HTML этого плагина вам покажут актуальный исходник.
Табличка появляеся с id="upload-attachments".
А вот после сохранения такая табличка генерится уже на сервере и поэтому видна в исходнике.
Друпал, к сожалению, будет некорректно работать с функцией found_rows(), т.к. в [ru-api=pager_query]pager_query()[/ru-api] сначала выполняется $count_query запрос, а только потом — основной
В списке блоков перемешиваются регионы и веса
броузер случайно не опера (у меня 9.50)? иногда она автоматом после сабмита формы подставляет странные значения (см. скрин; блок "Last videonews"). в ИЕ все нормально. такой бред наблюдался только на 1 сборке друпала...
Темизация edit старниц. Для каждого типа материала индивидуальная темизация
а мой вариант чем не подошел? При помощи него можно настроить вывод полей формы правки/создания ноды как вам надо. Или вам все-таки необходимо нечто большее, чем темизация формы?
Темизация edit старниц. Для каждого типа материала индивидуальная темизация
Надо перекрыть в вашей теме вывод theme_node_form():
1. Открываете node.pages.inc
2. Ищете функцию theme_node_form().
3. Копируете ее в файл template.php вашей темы и обзываете {название_темы}_node_form (garland_node_form)
4. Очищаете кеш регистра тем
внутри функции нода доступна так:
$node = $form['#node']
Соответственно тип:
$type = $node->type (или $form['#node']->type)
Темизация edit старниц. Для каждого типа материала индивидуальная темизация
темизация вплане только форму или целую страницу (page)?
[Закрыто]Ошибка при добавлении изображения
Такой треш и угар (expected to be a reference) массово у меня появляться стал, когда обновил PHP до версии 5.3. Возможно отдельные модули его не поддерживают корректно.
недоступны поля в hook_update, которые добавляются в hook_load
в hook_update() $node -- не нода... а что-то типа (object)$form_state['values'] при обработке (submit, validate) форм... вобщем совпадает с $node в hook_insert()
Путь $form_state['values']->$node в hook_update() можете сами отследить в этих функциях:
node_form_submit()
node_form_submit_build_node()
node_submit()
node_save()
node_invoke() -- тут запускается hook_update()
вы бы уточнили конкретную задачу.
к вопросу о оптимизации или небольшая задачка(с последующим решением) по my sql
к сожалению force index/use index осиливает только mysql (и еще кто-нить наверно)... да и в друпале есть hook_db_rewrite_sql, в результате которого where-часть может поменяться.
несмотря на это force index пользую...
Учусь создавать модули. inc, module, info создал, но не вижу в "главная > управление" свой модуль.
Извините, это я в своем посте опечатку сделал...
access arguments -- правильно (а не argurments)
Про hook_menu() можете подробно узнать на [ru-api=hook_menu]сайте АПИ[/ru-api].
[решено] проблема с profile role
хм. попробовал на версии 1.2 проделать то же самое. все корректно. попробуйте удалить (полностью -- с uninstall-ом) модуль profile role и потом поставить заново. Настроек там восстанавливать почти ничего -- только пару сопоставлений.
Учусь создавать модули. inc, module, info создал, но не вижу в "главная > управление" свой модуль.
Стоит проверить:
1. Включили вы свой модуль на страничке с модулями.
2. Не забыли ли обновлять каждый раз страничку с модулями после внесения каких-либо правок в hook_menu()
3. Не забыли ли вы про access callback/access arguments (забыли), иначе просто ничего открываться не будет (даже у суперадмина). Начните пока разбираться с 'access arguements', потом дойдете до access коллбека:
Установка базы данных
Вы наверно удалили default.settings.php? Надо чтоб был default.settings.php и settings.php. Вродебы изза этого такое бывает
base_path() не видит
Попробуйте в таком духе
Обновить возможность комментирования
в табличке {node} напротив нужных нод в поле "comment" попробуйте ввести "2".
http://drupaler.ru/table/drupal/node/6
Хочу добавить новую переменную в файле node.tpl.php [РЕШЕНО]
оч странно... Тогда вместо большого условия попробуйте более короткую запись:
Хочу добавить новую переменную в файле node.tpl.php [РЕШЕНО]
В самом начале шаблона node.tpl.php пишите:
Проблема с хуком темизации
Попробовал на гарланде. Давайте по шагам:
1. В template.php у гарланда в конец пишу:
Как сделать линки на файлы?
Если создавать путь в редакторе, то разве нельзя указать "/myfolder/myfile.ext" (путь к файлу http://mysite/myfolder/myfile.ext)? т.е. просто слеш вначале?
Если создавать внутри модуля, то надо смотреть в сторону [ru-api=file_create_url]file_create_url()[/ru-api]. Файл должен лежать в файловой директории! Ф-ия учитывает публичный/приватный варианты.
я хоть о нужном подумал?)
Подскажите, к документам Drupal можно прикрутить электронную подпись?
serzzzh, думаю организовать нормальный документооборот на друпале будет затратнее чем поставить уже готовую систему. Да и php для несимметричной криптографии использовать -- смерти подобно. Ключи бит в 1500 на тот же рса будут генерироваться миллиард лет. Хотя можно (и нужно), конечно, использовать расширения pecl и д.р. (crypto_rsa что-ли), писать приложения и связывать их с CMS.
Взгляните лучше в сторону готовых программных продуктов. С полгода назад нам в универе показывали презентацию с расценками. вродебы не шибко дорого. да и отлажено и проверено все.
Форматы дат
// Для 20/06/2009 - 13:10
format_date( $vars['node']->created, 'custom', "d/m/Y - H:i" )
// Для 13:10 - 20/06/2009
format_date( $vars['node']->created, 'custom', "H:i - d/m/Y" )
Про ф-ию format_date() можно прочитать на сайте [ru-api=format_date]с апи[/ru-api]
Это ручное форматирование (для одиночного вывода). Однако если такой формат нужен будет всегда, то краткий формат даты можно изменить на нужный на страничке admin/settings/date-time и потом писать просто format_date($vars['node']->created, 'small').
Белая страница модулей: решено навсегда
Обычно, при каждом открытии странички с модулями чистится некоторое кол-во кеша ([ru-api=drupal_rebuild_theme_registry]drupal_rebuild_theme_registry()[/ru-api] и [ru-api=cache_clear_all]cache_clear_all[/ru-api]('schema', 'cache')) + перезагружается вся система меню ([ru-api=menu_rebuild]menu_rebuild()[/ru-api]). Думается перезагрузка меню и занимает как раз наибольшую часть времени открытия этой странички.
Правильная обработка $_GET-запроса
Попробуйте что-то вроде этого:
Помогите устранить глюк
а) и если вдруг вы случайно очистите всю таблицу "menu_links", то друпал умрет (толькочто сделал такое и он у меня умер о пхп-синтаксис-ошибкой). Достаточно в броузере набрать путь "admin/build/modules". И меню самоперезагрузится.
Помогите устранить глюк
Посмотрел модуль. Он вообщем делает что-то мозговзрывающее в функции admin_menu_adjust_items() файла admin_menu.inc
Для удаления последствий, надо, как мне кажется, просто валидно удалить модуль.
Для этого достаточно в phpmyadmin:
1. Выполнить запрос: DELETE FROM menu_links WHERE module = 'admin_menu'
2. Очистить табличку cache_menu, ну и бонусом основной кеш (cache) удалить.
Все эти действия выполняются в admin_menu_uninstall() инсталляционного файла (admin_menu.install) злосчастного модуля.
Upload: отображение таблицы аттачей
исходников этой таблицы быть не должно. браузеры не отображают изменения в исходном коде страницы, которые произошли после ее загрузки, тобишь табличка, которая добавилась в дом по нажатию alt+f3 не отобразится.
надо взять файрфокс с плагином firebug. выбираете файл, аттачите его и на вкладочке HTML этого плагина вам покажут актуальный исходник.
Табличка появляеся с id="upload-attachments".
А вот после сохранения такая табличка генерится уже на сервере и поэтому видна в исходнике.
Безопасный код: Работа с базой данных
Друпал, к сожалению, будет некорректно работать с функцией found_rows(), т.к. в [ru-api=pager_query]pager_query()[/ru-api] сначала выполняется $count_query запрос, а только потом — основной