Как устроить блоки в Drupal 6? - PullRequest
0 голосов
/ 25 июля 2011

Я новичок в Drupal, я только что создал модуль и пытаюсь отобразить. Но блочный HTML-код нарушает все границы темы. Как мы можем контролировать HTML в блоках?

Например, мой код блока

function node_example_block($op='list',$delta=0){

    switch($op){
        case "list":
            $block[0]['info'] = t('THIS IS EXAMPLE NODE EXAMPLE ');
            return $block;
        case "view":    
            $block['subject'] = "THIS MY FIRST SAMPLE BLOCK";
            $block['content'] = get_tree_data();

            return $block;
    }
}

function get_tree_data(){

    /*
     $output = HTML CODES HERE .....
    */
     }

return $output;
}

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Я не уверен, что вы подразумеваете под "нарушает все границы темы".Если это означает, что ваша тема работает неправильно, когда вы используете этот блок, тогда ответ заключается в том, что ваш HTML неверен - например, он может содержать закрытые теги HTML.

Единственный ответ на это - исправить ваш HTML,Возможно, вы захотите использовать HTML-корректор Drupal, чтобы увидеть, действительно ли это проблема:

function get_tree_data() {
  /* fill $output */      
  return filter_filter('process', 3, -1, $output); /* Call htmlcorrector filter */
}

Но я бы не рекомендовал сохранять это таким образом, поскольку наличие ошибки в вашем HTML может быть просто симптомомбольшая ошибка, которую вы должны исправить.

0 голосов
/ 25 июля 2011

У вас есть файл TPL для блока? Если нет, то создайте файл tpl для такого блока, как block-NAME.tpl.php, и определите теги HTML div в соответствии с вашей темой. Просто ознакомьтесь с темой гирлянды по умолчанию для block.tpl.php для справки. И я думаю, что не очень хорошая идея иметь html-код в модуле, вы можете поместить эту html-структуру в tpl-файл

...