Startseite
  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Verwirrung: Template oder Theme?

Eingetragen von MaWe4585 (41)
am 24.12.2009 - 11:20 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo,

ich programmiere gerade ein eigenes Modul um mich in Drupal einzuarbeiten und möchte jetzt die Funktionen vom optischen trennen. Ich hab das immer so verstanden, dass das Theme die generelle optische Gestaltung der Website ist, das Look&Feel. Ein Template ist ne Datei die die Ausgabe eines einzelnen Moduls regelt.

Wenn ich jetz hier auf der Website danach suche wie ich Templates anwende, finde ich eigentlich nur Zeug über Themes.
Heisst das bei drupal irgendwie anders als sonstwo?

Und könnt ihr mir kurz einen Link zu nem Tutorial geben in dem ich sehen kann wie ich Funktionalität von grafischem trennen kann?

thx und frohe Weihnachten
MaWe

‹ Farben bei Internet-Explorer unterschiedlich zu firefox und chrome [gelöst]Drupal update 6.15 in deutsch ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast du das schon

Eingetragen von luzer (1172)
am 24.12.2009 - 11:27

Hast du das schon gelesen?
http://www.drupalcenter.de/handbuch/15663

Eine Template-Datei ist Teil eines Themes.
Schon zuständig für die Ausgabe aber nicht eines einzelnen Moduls...
-----------
Kooperative Netze Hamburg

-----------
Kooperative Netze Hamburg

  • Anmelden oder Registrieren um Kommentare zu schreiben

Theme-Layer in Modulen verwenden

Eingetragen von stBorchert (3647)
am 24.12.2009 - 13:45

Siehe dazu auch Using the theme layer (bzw. die übersetzte Fassung Die Verwendung der Theme-Schicht).

 Stefan

--
Sei nett zu Deinem Themer!

Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmm.. also so recht werd ich

Eingetragen von MaWe4585 (41)
am 24.12.2009 - 22:16

hmm.. also so recht werd ich nicht schlau draus, hab noch nie was mit templates gemacht :/

Bis jetzt hab ich das ganze in nem testmodul ohne Template gemacht.
Drei Dateien, testmodule.info, testmodule.install, testmodule.module

ich denk die info und install sind ok soweit, die testmodule.module ist allerdings fragwürdig, sie beinhaltet zwei blocks mit insgesamt 4 links zu 4 zielen.

Hier mal der Inhalt, hoffe es ist nicht zu viel:

<?php


// $Id$

function testmodule_help($path, $arg){
   
$output = '';
    switch(
$path){
        case
"admin/help#testmodule":
           
$output = '<p>'.t("This is the Testmodule").'</p>';
        break;
    }
    return
$output;
}

function
testmodule_perm(){
    return array(
'access testmodule content','administer testmodule');
}

function
testmodule_block($op = 'list', $delta = 0){
    if(
$op == "list"){
       
$block[0]["info"]=t('Testblock 0');
       
$block[1]["info"]=t('Testblock 1');
        return
$block;
    }else if (
$op == 'view'){
       
$block_content = '';
        switch(
$delta){
            case
0:
               
$block['subject'] = 'Testblock 0';
               
//Menu-link to Testlink 0-0
               
$options = array('attributes' => array('title'=> t('This is testlink 0-0')));
               
$block_content .= l(t('Testlink 0-0'),'testlink00',$options).'<br />';
               
//Menu-link to Testlink 0-1
               
$options = array('attributes' => array('title'=> t('This is testlink 0-1')));
               
$block_content .= l(t('Testlink 0-1'),'testlink01',$options).'<br />';
                break;
            case
1:
               
$block['subject'] = 'Testblock 1';
               
//Menu-link to Testlink 1-0
               
$options = array('attributes' => array('title'=> t('This is testlink 1-0')));
               
$block_content .= l(t('Testlink 1-0'),'testlink10',$options).'<br />';
               
//Menu-link to Testlink 1-1
               
$options = array('attributes' => array('title'=> t('This is testlink 1-1')));
               
$block_content .= l(t('Testlink 1-1'),'testlink11',$options).'<br />';
                break;
        }
       
$block['content'] = $block_content;
        return
$block;
    }
}

function
testmodule_menu(){
   
$items = array();
   
$items['testlink00']=array(
       
'title' => t('Testlink 0-0'),
       
'page callback' => 'testlink00_all',
       
'access arguments' => array('access testlink content'),
       
'type' => MENU_CALLBACK
   
);
   
$items['testlink01']=array(
       
'title' => t('Testlink 0-1'),
       
'page callback' => 'testlink01_all',
       
'access arguments' => array('access testlink content'),
       
'type' => MENU_CALLBACK
   
);
   
$items['testlink10']=array(
       
'title' => t('Testlink 1-0'),
       
'page callback' => 'testlink10_all',
       
'access arguments' => array('access testlink content'),
       
'type' => MENU_CALLBACK
   
);
   
$items['testlink11']=array(
       
'title' => t('Testlink 1-1'),
       
'page callback' => 'testlink11_all',
       
'access arguments' => array('access testlink content'),
       
'type' => MENU_CALLBACK
   
);
    return
$items;
}

function
testlink00_all(){
   
$page_content = t('This is Testlink 0-0');
   
$page_content .= drupal_get_form('testlink00_form');
    return
$page_content;
}
function
testlink01_all(){
   
$page_content = t('This is Testlink 0-1');
   
$page_content .= drupal_get_form('testlink01_form');
    return
$page_content;
}
function
testlink10_all(){
   
$page_content = t('This is Testlink 1-0');
   
$page_content .= drupal_get_form('testlink10_form');
    return
$page_content;
}
function
testlink11_all(){
   
$page_content = t('This is Testlink 1-1');
   
$page_content .= drupal_get_form('testlink11_form');
    return
$page_content;
}

function
testlink00_form($form_state) {
    return
testlinkforms('00');
}
function
testlink01_form($form_state) {
    return
testlinkforms('01');
}
function
testlink10_form($form_state) {
    return
testlinkforms('10');
}
function
testlink11_form($form_state) {
    return
testlinkforms('11');
}

function
testlinkforms($module) {
 
// Description
 
$form['testform'] = array(
   
'#type' => 'fieldset',
   
'#title' => t('Testform'),
  );
 
$query =  "SELECT * FROM {testmodule} as tm WHERE tm.test_module='%s'";
 
$qRes = db_query($query,$module);
  while(
$test = db_fetch_object($qRes)){
     
$form['testform']['test_id_'.$test->test_id] = array(
       
'#type' => 'checkbox',
       
'#title' => $test->test_module.'('.$test->test_id.')',
       
'#default_value' => ($test->test_module==$module)?1:0,
      );
  }
 
$form['hidden'] = array('#type' => 'value', '#value' => 'testvalue');
 
$form['submit'] = array('#type' => 'submit', '#value' => t('Submit'));
  return
$form;
}
?>

Auf welche Dateien müsste ich das Ganze jetzt verteilen und wie würden die aussehen, damit das sauberer wird?
Diese _all - Methoden muss ich vermutlich überarbeiten, aber was muss da stattdessen rein?
Momentan würde ich da jeglichen HTML-Code unterbringen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit hook_theme definierst du

Eingetragen von Tobias Bähr (3431)
am 24.12.2009 - 22:45

Mit hook_theme definierst du Templates bzw. Theme-Funktionen.
----------------------------------------
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Bereiche für Pfade, Themes, usw. einfügen?
  • Problem mit pathauto und i18n - URL-Alias wird nur für Source-Node erstellt
  • Update nach 6.16
  • Katalog mit Anfragemöglichkeit
  • Übercart, Shop Zahlungssysteme in der Schweiz
  • "INSERT INTO" funktioniert nicht im Internet Explorer
  • Problem mit Mini-Panels
  • Titel bei Kommentaren verstecken
  • "Doppelte Buchführung" in Drupal
  • Gast erstellt cck, soll Mail kriegen mit Bearbeitungslink
  • Layout des Profils
  • Fatal error bei Aufruf der Zugriffskontrolle
Weiter

Neue Kommentare

  • Wie sieht das konkret aus?
    vor 6 Minuten 39 Sekunden
  • krabbe schrieb In Frage
    vor 15 Minuten 40 Sekunden
  • Hallo Sandro, zur Umsetzung
    vor 17 Minuten 45 Sekunden
  • um welches ubercart modul
    vor 20 Minuten 43 Sekunden
  • Fehler ganz einfach gelöst
    vor 15 Minuten 43 Sekunden
  • Details
    vor 36 Minuten 33 Sekunden
  • Bowser abhängig?????
    vor 39 Minuten 57 Sekunden
  • Aus den Bildern kann man
    vor 49 Minuten 43 Sekunden
  • CSS
    vor 51 Minuten 39 Sekunden
  • node_widget
    vor 53 Minuten 15 Sekunden

Statistik

Beiträge im Forum: 113594
Registrierte User: 10254

Neue User:

  • nuiientertainment
  • dietrich.kammeer
  • womo-paul

» Alle User anzeigen

User nach Punkten sortiert:
quiptime4706
stBorchert3647
md3536
Tobias Bähr3431
bv3275
dereine2589
Alexander Langer2512
pebosi2488
Thoor1724
rapsli1475
» User nach Punkten
Zur Zeit sind 18 User und 64 Gäste online.

Benutzer online

  • Hacky
  • Joanna VAO
  • teNNe
  • Noob-Anfänger
  • SaschaCap
  • Aneta
  • quiptime
  • majorbenks
  • Carsten Logemann
  • bv
  • Crashy
  • firstlevel
  • jadenz
  • SirFiChi
  • Kyuss
  • krabbe
  • daharry
  • Waldknoblauch

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Referenzen
  • Installation
  • Update
  • Forum
  • Team

Quicklinks II

  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
DrupalCamp.de - Drupal Initiative - Drupal Association