Почему некоторые блоки созданные модулем Views имеют нормальную delta: например my_news, в то время как у некоторых других delta выглядит так: 6afc54f4df9bf9a3666f2387918fac28.
А это потому, что модуль Block (block.module) определяет максимальную длину delta в 32 символа. Но поскольку дельта в модуле Views формируется из названий представлений (а они могут быть более 32 символов), то delta формируется как хэш md5. Ниже кусок кода, который из реализации Views (views.module)
<?php
function views_block_info() {
...
// block.module has a delta length limit of 32, but our deltas can
// unfortunately be longer because view names can be 32 and display IDs
// can also be 32. So for very long deltas, change to md5 hashes.
$hashes = array();
// get the keys because we're modifying the array and we don't want to
// confuse PHP too much.
$keys = array_keys($items);
foreach ($keys as $delta) {
if (strlen($delta) >= 32) {
$hash = md5($delta);
$hashes[$hash] = $delta;
$items[$hash] = $items[$delta];
unset($items[$delta]);
}
}
...
}
?>
Комментарии
где решение то?
Теперь лучше?
Не совсем ))) Было бы лучше после этого:
А вот кусок кода, который может это исправить (имею в виду, например, альтернативу этому):....
Хотя, всё равно спасибо за информацию!
Зачем это исправлять?
Там всё правильно сделано.
Просто если не хочется, чтобы у блоков были ID типа id="block-views-6afc54f4df9bf9a3666f2387918fac28" давай представлениям короткие имена.
У меня вопрос появился, потому что нужно было стили прописать для этого блока. И я не был уверен, что этот ID сохранится, при переносе представления с блоком на рабочий сервер.