Frage

Ich bin ein Neuling in Drupal, ich habe gerade ein Modul erstellt und versuche zu zeigen. Aber der Block HTML -Code bricht alle Grenzen des Themas. Wie können wir die HTML in Blöcken steuern?

Zum Beispiel ist mein Blockcode

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;
}
War es hilfreich?

Lösung

Ich bin mir nicht sicher, was Sie unter "bricht alle Grenzen des Themas". Wenn dies bedeutet, dass Ihr Thema bei der Verwendung dieses Blocks schief geht, dann lautet die Antwort einfach, dass Ihr HTML falsch ist - es kann beispielsweise nicht abgestellte HTML -Tags enthalten.

Die einzige Antwort darauf ist, Ihre HTML zu reparieren. Möglicherweise möchten Sie den HTML -Korrektor von Drupal verwenden, um festzustellen, ob dies tatsächlich das Problem ist:

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

Aber ich würde es nicht empfehlen, es so zu halten, da ein Fehler in Ihrem HTML nur ein Symptom für einen größeren Fehler sein könnte, den Sie beheben sollten.

Andere Tipps

Haben Sie eine TPL -Datei für Block? Wenn nicht, erstellen Sie eine TPL-Datei für einen Block wie block-name.tpl.php und definieren Sie HTML-DIV-Tags gemäß Ihrem Thema. Schauen Sie sich einfach das Standard -Garland -Thema für block.tpl.php als Referenz an. Und ich denke, es ist keine gute Idee, HTML -Code im Modul zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top