Подскажите, плиз. На странице создания поста в блог по дефолту последовательность вывода форм следующая:
- Название
- Тизер
- Сообщение
- Присоединенное изображение
А мне надо чтобы форма "Присоединенное изображение" было между "тизером" и "сообщением". Как это можно несложно сделать? И кстати, а как делать, чтобы форма (в моем случае - "присоединенное изображение") была по дефолту открыта?
Комментарии
просто, но неправильно - отредактировать веса и collapsed в том файле ядра,который за это отвечает
непросто, но правильно - повесить хук, который делает то же самое
спасибо. а какой файл ядра за это отвечает?
просто, но ОЧЕНЬ неправильно
правильно так:
создаем новый модуль, в него впихиваем все одну(!) функцию
//alterinп node creation/editing form
if ($form['#id'] == 'node-form')
{
if (isset($form['taxonomy']))
$form['taxonomy']['#weight'] = '4';
if (isset($form['attachments']))
{
$form['attachments']['#weight'] = '3';
}
}
}
функцию меняем под свои нужды. поля смотрим через print_r($form)
Так любую функцию можно перегрузить? Или нет?
Видите, мне как непрограммеру технология создание модуля (равно хака) в принципе не известна.
( логически оно кроме создания папки-нэйма и видимо... name.php в ней (с вышеприведенным кодом) наверное чего-то еще требует ) - или нет?
И мне (как юзеру-дизайнеру) возможно проще (я понимаю что ядрокастом не приветствуется) поправить нумера (и collapsed - !! бы еще) в исходном файле (сделаю татуировку) - скажите имя файла - я бы там веса проставил - это не комм.заказ - для себя делаю. А... и код для collapsed нужен тоже. Вроде так.
Минимальный модуль требует 2 файла .info (название, версия, зависимости и т. п.) и .module (php код)
там еще нужен файлик .info Возьмите любой модуль и гляньте что в нем внутри, там все элементарно. в моей функции вставьте вначале print_r($form); Оно выведет на странице формы очень большое нечто. В этом нечто найдите ваш fieldset по названию. Блин, там все интуитивно. У него будет поле collapsed. Выставьте его в true и будьте довольны.
не любую. в модулях можно перегружать все так называемые хуки (список). В темах можно перегружать темовые функции (список)
Пока с модулем не до конца получилось - модуль заработал - но (print_r($form); - правильно вставить не могу - то ошибка - то ничего особенного не выводится) - соответственно как поймать нужные мне объекты пока не понял. А кстати - собственно в моем случае ведь вес формы нужно поменять у модуля "Image - Image Attach" - т.е. это вроде не хак ядра? Я так понимаю где-то в image.module надо поправить вес формы ввода адреса файла и проставить collapsed. Там правда файлик немаленький... по крайней мере для модуля Excerpt это вроде работает. Или я не прав?
// $Id: formweight.info,v 1.1.2.3 2007/06/15 08:25:22 snpower Exp $
print_r($form);
function formweight_form_alter($form_id, &$form)
{
//alterinп node creation/editing form
if ($form['#id'] == 'node-form')
{
if (isset($form['taxonomy']))
$form['taxonomy']['#weight'] = '4';
if (isset($form['attachments']))
{
$form['attachments']['#weight'] = '5';
}
}
}
php пока тока начал изучать - не ругайтесь если детские ошибки
Можно еще поменять вес модуля в таблице {system}
А ... таблица {system} - это я не знаю как (.