Имя машины в блоке «Блокнот» (?)

Новичок в Drupal, так что поправьте меня, если я понимаю, что это неправильно, но, как правило, когда Block создается Views, имя машины блока добавляется к имени машины Views.

то есть. "Article_listing_view-block_1"

При использовании функции block_load ($ module, $ block_id) то, как я это делал, это назвать: $ block = block_load ("views", "article_listing_view-block_1");

Однако для некоторой нечетной причины very один конкретный блок с именем машины:

"flag_comments_as_offensive-block_1"

имеет хэшированный идентификатор машины:

"92a591f5a81d13a3dd5492f073f9e135"

Я говорю «хэширование», потому что идентификатор машины изменяется напрямую на машинное имя блока. Если я изменю его с блока_1 на блок, он изменится, и когда я вернусь назад от блока к block_1, он вернет идентификатор машины обратно к указанному выше. Таким образом, существует прямая корреляция между именем машины и «хэшированным» идентификатором, который он генерирует.

Вместо вызова block_load («views», «machine name»), я должен использовать хэшированный идентификатор машины, что не является проблемой, но мне понадобилось long вне. То, как я это понял, - это войти в Structure -> Блокируйте и наведите указатель мыши на ссылку «Настроить» и посмотрите URL. Я заметил, что all у моих других блоков есть URL-адрес, который включает его идентификатор машины, но для этого конкретного блока это был хэшированный идентификатор машины. Как только я ввел идентификатор машины в block_load, альт, он работал как шарм!

Итак, я думаю, вопрос сводится к следующему: что происходит, и почему Drupal хеширует мое имя машины? Это ошибка или ошибка с моей стороны?

19 голосов | спросил Peter 31 +04002011-10-31T00:24:56+04:00312011bEurope/MoscowMon, 31 Oct 2011 00:24:56 +0400 2011, 00:24:56

2 ответа


20

Это связано с тем, что блочный модуль ожидает «дельта» (идентификатор блока) длиной до 32 символов. Но отображение блока просмотра может содержать до 65 символов: до 32 символов из имени представления и 32 символа из отображаемого имени и дефис '-' между ними.

Когда дельта превышает ограничение на 32 символа, Views будет хэш через md5 - это не случайная строка. Вы можете безопасно использовать его для селекторов CSS и jQuery.

ответил Capi Etheriel 31 +04002011-10-31T02:40:32+04:00312011bEurope/MoscowMon, 31 Oct 2011 02:40:32 +0400 2011, 02:40:32
4

Названия машин-производителей только хешируются, если длина имени более 32 символов.

ответил tim.plunkett 31 +04002011-10-31T02:16:20+04:00312011bEurope/MoscowMon, 31 Oct 2011 02:16:20 +0400 2011, 02:16:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132