roderixiv: Блог

Главные вкладки

Проблема drupal_set_title()

5 сентября 2010 в 13:31

Здравствуйте!
Пишу свой модуль в котором есть меню. Для того, чтобы заголовок страницы отличался бы от пункта меню использую функцию drupal_set_title(). Все замечательно, заголовок сменился, но только на всех страницах сайта! Подскажите, в чем проблема.
Вот листинг из модуля:

<?php
//Основной пункт меню
function qwert_menu() {
  
$items['qwert'] = array(
    
'title' => 'Qwert settings',
    
'description' => 'Set Qwert module settings',
    
'title callback' => 'qwert_title',
    
'title arguments' => array('tit1''tit2'),
    
'page callback' => 'qwert_settings',
    
'page arguments' => array('qwert1''qwert2''qwert3'),
    
'access arguments' => array('view qwert'),
    
'type' => MENU_NORMAL_ITEM,
  );
  return 
$items;
}
//title callback
function qwert_title($d$e) {
  
drupal_set_title(t('Qwert page title: @e', array('@e' => $e)));
  return 
t('Qwert menu: @d', array('@d' => $d));
}
?>

Благодарю.

Отображение графических файлов в нодах

2 июля 2010 в 19:45

Уважаемые господа!
Сейчас разбираюсь с возможностями Друпала по вставке и отображению графических файлов. Освоил модули ImageField, FileField и наиболее известные вспомогательные модули для них. Все файлы, которые они вставляют в ноды, они ассоциируют с этими нодами. А как следствие - при удалении нод прикрепленные файлы стираются. К тому же, если в другой ноде должен быть прикреплен тот же самый файл, то он загружается на сервер еще раз, но с измененным именем. Конечно для многопользовательских сайтов и с точки зрения учета авторских прав - это благо, а для меня кошмар.
Я создаю интернет-магазин. Мне нужно, чтобы менеджеры (не профессионалы в Друпале и программировании) могли легко и просто создавать товары и прикреплять к ним файлы - картинки и pdf-описания. Эти самые файлы нужно закачивать на сервер централизовано, а не заливать индивидуально при создании товара. Менеджеры, прикрепляя файлы, должны их выбирать среди закаченных. Многие товары будут иметь одни и те же прикрепленные файлы, соответственно не нужно полной ассоциации ноды и файлов. Т.е. при удалении некоторых товаров прикрепленные файлы должны оставаться на сервере не тронутыми. В этом то и проблема с ImageField и FileField.
Я конечно понимаю, что поставленную задачу можно решить с помощью HTML, текстового поля, текстового редактора с файловым браузером (CCK+CKEditor+IMCE например). Но менеджеров - тетенек "бальзаковского возраста" и парней из ПТУ, увиденная запись вроде

Fatal error: Out of memory in xxx/xxx/xxx/includes/menu.inc

11 мая 2010 в 15:37

Здравствуйте. Я новичок, поэтому прошу прошения за возможное непонимание информации.
После нормальной установки некоторого количества дополнительных модулей при установке последующих модулей стала проявляться ошибка:
Fatal error: Out of memory (allocated 39583744) (tried to allocate 524265 bytes) in xxx/xxx/xxx/includes/menu.inc on line 966
Устанавливаемые модули при этом работают нормально (во всяком случае других ошибок пока не наблюдалось), но Fatal error как-то напрягает.
Попытался решить проблему методами типа:
memory_limit = 32M - редактирование конфигурационного файла php.ini;
ini_set('memory_limit', '32M'); - устанавливает значение опции конфигурации непосредственно в начале "проблемного" скрипта или в файле настроек, в случае с ЦМС;
php_value memory_limit 32M - добавление команды в .htaccess файле всего сайта или в конкретной директории;
ВСЕ БЕСПОЛЕЗНО !
Стал копать глубже, нашел строку 966 в menu.inc, там функция _menu_tree_cid(). Узнал, что эта функция выделяет кэш под дерево данных меню http://api.drupal.org/api/function/_menu_tree_cid/6. Видимо этого выделяемого кэша для чего-то и не хватает.
Что с этим делать, понятия не имею. Пожалуйста, помогите!