Photo galleries with Views Attach
Прислано: beerman
чт, 23/07/2009 - 23:23
A quick screencast demonstrating a new technique for building photo galleries in Drupal with Views and CCK.
Drupal стал красивее!
Прислано: beerman
ср, 03/06/2009 - 14:34
UPD: не мое
Добавить сою кнопку в TinyMCE
Прислано: beerman
чт, 19/03/2009 - 05:59
Где можно почитать про создание кнопки для TinyMCE со своим функционалом?
Или, может, у кого-то пример есть?
Создать таблицу при включении модуля
Прислано: beerman
ср, 11/03/2009 - 09:34
Что-то никак не догоню.
Пишу функции mymodule_install(), mymodule_uninstall() и mymodule_schema() в которой надо создать таблицу в базе.
CREATE TABLE `mytable` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`timestamp` INT( 11 ) NOT NULL ,
`text` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`link` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `timestamp` )
);
Т.е. install выглядит так.
<?php
function mymodule_schema() {
$schema['mytable'] = array(
'fields' => array(
'id' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
'timestamp' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
'text' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => 'percent'),
'link' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => 'percent'),
),
'primary key' => array('id'),
);
return $schema;
}
?>Ожидается, что при подключении модуля должна создаться таблица. Ан нет...
Что я недоделал?
Листалка страниц Ctrl + стрелки влево/вправо
Прислано: beerman
пт, 06/03/2009 - 03:37
Собственно, пробуйте модуль листания страниц
Отписывайтесь об ошибках.
Тестировалось на гарланде, но дкумаю и на других темах будет работать, если пейджинг не переопределен.
Если у вас он переопределен, то разберетесь как подправить под себя ;)
Сниппет: Как установить атрибут disabled полю CCK
Прислано: beerman
вс, 01/03/2009 - 03:19
В очередной раз перекапывая Form API столкнулся с проблемой установки ССК-полю значения disabled.
<?php
/**
* @file
* Custom module to set the disabled attribute of CCK fields.
*/
/**
* Implementation of hook_form_alter().
*/
function mysnippet_form_alter(&$form, $form_state, $form_id) {
if (isset($form['type']) && isset($form['#node'])) {
// Use this check to match node edit form for a particular content type.
if ('mytype_node_form' == $form_id) {
$form['#after_build'][] = '_mysnippet_after_build';
}
// Use this check to match node edit form for any content type.
// if ($form['type']['#value'] .'_node_form' == $form_id) {
// $form['#after_build'][] = '_mysnippet_after_build';
// }
}
}
/**
* Custom after_build callback handler.
*/
function _mysnippet_after_build($form, &$form_state) {
// Use this one if the field is placed on top of the form.
_mysnippet_fix_disabled($form['field_myfield']);
// Use this one if the field is placed inside a fieldgroup.
// _mysnippet_fix_disabled($form['group_mygroup']['field_myfield']);
return $form;
}
/**
* Recursively set the disabled attribute of a CCK field
* and all its dependent FAPI elements.
*/
function _mysnippet_fix_disabled(&$elements) {
foreach (element_children($elements) as $key) {
if (isset($elements[$key]) && $elements[$key]) {
// Recurse through all children elements.
_mysnippet_fix_disabled($elements[$key]);
}
}
if (!isset($elements['#attributes'])) {
$elements['#attributes'] = array();
}?>Интересный сайтик
Прислано: beerman
пн, 02/02/2009 - 12:59
Я незнаю чей это сайт, но сделан очень качественно на друпале
респект
[решено] Views + комбинирование нескольких полей
Прислано: beerman
пн, 19/01/2009 - 07:36
Во Views2 есть замечательная возможность "склеивать" несколько полей воедино.
Но, наряду с добряками, есть и минусы.
В частности никак не могу понять как хукнуть эту функцию склейки на предмет отсекания пустых полей.
Т.е., например, есть поля "Город" (обязательное), "Улица", "Номер дома".
После группировки поле имеет вид "г. Мухосранск, ул.Пупкина, 5".
Но если нет улицы и дома, то поле принимает некашерный вид: "г. Мухосранск, ,"
Есть какое-нибудь решение?
- Для комментирования войдите или зарегистрируйтесь
[РЕШЕНО] hook_nodeapi и изменение $node->title
Прислано: beerman
вт, 06/01/2009 - 12:53
<?php
function timerko_form_alter(&$form, $form_state, $form_id) {
switch($form_id) {
case 'expertopinion_node_form':
$form['title']['#weight'] = -10;
$form['title']['#value'] = (!$form['title']['#value']) ? 'Дефолтный заголовок' : '';
$form['title']['#type'] = 'hidden';
break;
}
return;
}
function timerko_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'insert':
case 'update':
if ($node->type == 'expertopinion') {
$expert_nid = $node->field_expertreference[0]['nid'])
$expert = db_fetch_array(db_query("SELECT title FROM node WHERE nid=%d", $expert_nid);
$node->title = check_plain($expert['title']);
print_r($node);
}
break;
}
}
?>print_r() в timerko_nodeapi() выдает $node->title который нужен, а вот записывается в базу все равно как "Дефолтный заголовок".
Что я не так делаю?
PS. $node->field_expertreference[0]['nid'] - поле Node Reference
Cайт газеты New York Observer на Drupal
Прислано: beerman
чт, 18/12/2008 - 15:12
Blog API - борьба с картинками
Прислано: beerman
вт, 16/12/2008 - 14:32
Вообщем, блогклиенты работаю "на ура". Но есть одна большая проблема.
Доработанный файловый менеджер для FCKeditor
Прислано: beerman
вт, 16/12/2008 - 05:10
- Русифицирован интерфейс.
- При добавлении папок с русскими именами и закачке файлов с русскими именами производится их транслитерация.
- У папок пишется их размер.
- Можно удалять файлы и папки.
- При закачке изображений можно изменить его размеры (использует imagemagick).
подробности на сайте SergiusD
[РЕШЕНО] Drupal хорош, но тормозной до жути
Прислано: beerman
вс, 14/12/2008 - 11:22
Полтора месяца назад, после перехода на 6.х, ощутил значительный скачок в производительности системы в сторону увеличения времени генерации страниц. Доступ к странице модулей вообще начинает доводить до состояния анабиоза.
Танцы с бубном вокруг выделенного сервера не привели ни к какому сколько-нибудь значимому результату.
В состоянии здравого ума и трезвой памяти я сделал вывод о сильно разросшейся системе управления, изначально напичканой излишними модулями и кривой реализацией основных функций/модулей. В частности это касается реализации модулей Views и CCK, на которые 90% пользователей делают основной упор.
Дабы не быть голословным, привожу пример работы drupal на сервере с настройками: CPU 600Mhz, 160Mb memory, 4000Mb disk.
Вывод на главной странице 10 последних записей блога, темизированных через node-blog.tpl.php, в котором просто расписаны div и phint $node->....
данные по devel после трех перезагрузок сервера:
Page execution time was 37415.49 ms.
Page execution time was 35212.13 ms.
Page execution time was 36423.23 ms.
ЗЫ. если кто-то сможет мне объяснить, как заставить drupal работать в 30 раз быстерее - с меня пЫво (или на пЫво через WMR/WMZ)
Добавление роли пользователю
Прислано: beerman
ср, 10/12/2008 - 06:09
Столкнулся с проблемой добавления пользователям определенной роли.
Ни через страницу "Пользователи", ни через изменение профиля, никак дру не реагирует.
Кто-нибудь сталкивался с такой проблемой?
Мультисайтинг (и вновь...)
Прислано: beerman
пн, 08/12/2008 - 04:49
Создаю в папке site подпапку name.mysite.ru
в ней папку themes с одной темой, которую прописываю в settings.php подпапки name.mysite.ru
в том же settings.php вставляю
<?php
$conf = array( 'site_name' => 'Название сайта', 'theme_default' => 'mytheme');
?>Все прекрасно работает.
Вопрос в том, как мне теперь поставить на главном домене главную страницу одну, а на поддоменах свои?
Т.е.
mysyte.ru/mainpage - главная
1.mysite.ru/otherpage1
1.mysite.ru/otherpage2
3.mysite.ru/otherpage3