Kann mir jemand vielleicht noch Tipps geben?
am 03.12.2009 - 16:12 Uhr in
Hallo zusammen,
Ich habe nun endlich das mit der Theme-Funktion geschafft, so dass ich keine tpl.php mehr benötigen würde(ausser die "normalen" tpl.php Dateien). Ich hätte gerne noch die Meinung von Fachleuten gehabt, ob das grosse Fehler hat und was noch auszubessern wäre.
Hier nun meine Funktionen, diese konnte ich um einiges verbessern. Hier geht es nur um den Teil der Ausgabe eines einzelnen Artikels.
Vielen Dank für das Ansehen und die Zeit, bin wirklich dankbar um jeden Tipp!
Gruss
Fredi
Dies ist der Callback für die Ausabe des geklickten Artikels:
/**
* callback function phpmanual_article()
*/
function phpmanual_art($f = NULL) { //$f wird mit 'page arguments' vom Pfad übernommen, z.B. array(2)
drupal_add_css(drupal_get_path('module', 'phpmanual') . '/css/phpmanual.css');
$id = $f;
if (filter_xss($id) && is_numeric($id)) {
// validation is ok.
$result = db_query("SELECT * from {phpman} WHERE id = %d", $id);
$data = db_fetch_object($result);
$data->titel;
$data->beschreibung;
$data->beschreibung2;
$data->spez1;
return theme('phpmanual_art', $data->titel, $data->beschreibung, $data->beschreibung2, $data->spez1);
} else if (!filter_xss($id) || !is_numeric($id)) {
// validation is not finished.
return t('Error in Entry');
}
}Und hier der nötige Hook und die Theme-Funktion:
/**
* Implementation of hook_theme()
*/
function phpmanual_theme() {
return array(
'phpmanual_art' => array(
'arguments' => array('titel', 'beschreibung', 'beschreibung2', 'spez1'),
),
);
}
/**
* Theme for article output
*/
function theme_phpmanual_art($titel, $beschreibung, $beschreibung2, $spez1) {
$output = '<div class="phpman">' . $titel . '</div>';
$output .= '<p>' . $beschreibung . '</p><p>' . $beschreibung2 . '</p><p>' . $spez . '</p>';
return $output;
}- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 1 Woche 6 Tagen
vor 2 Wochen 12 Stunden
vor 2 Wochen 1 Tag
vor 2 Wochen 5 Tagen
vor 2 Wochen 5 Tagen
vor 3 Wochen 3 Tagen
vor 3 Wochen 3 Tagen
vor 3 Wochen 3 Tagen
vor 5 Wochen 6 Tagen
vor 6 Wochen 12 Stunden