Customize Search-Form
am 13.07.2008 - 10:37 Uhr in
Hallo D-User,
hab gerade den Code für das "customizing" der Search results gefunden:
<?php
function XXXX_search_item($item, $type) {
$output = ' <dt class="title"><a href="'. check_url($item['link']) .'">'. check_plain($item['title']) .'</a></dt>';
$output .= ' <dd>'. ($item['snippet'] ? '<p>'. $item['snippet'] .'</p>' : '');
return $output;
}?>Wie finde ich den genauen namen für mein Theme heraus? hab schon sämtliche Versionen probiert. Wenn es eine "PA.info" Datei gibt in dem Theme Ordner, musst es doch
"function PA_search_item($item, $type) {"
lauten, oder?
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben

So wie der Theme-Ordner heißt
am 13.07.2008 - 12:27 Uhr
So wie der Theme-Ordner heißt, so heißt dann auch das Funktionspräfix. Man kann aber auch stellvertretend für alle PHPTemplate-Themes das Präfix "phptemplate" verwenden - das funktioniert dann auch noch nach Themewechsel (sofern erwünscht).
hm...irgendwie registriert
am 13.07.2008 - 12:40 Uhr
hm...irgendwie registriert Drupal die Änderungen nicht?!
template.php:
...
function PV_search_item($item, $type) {
$output = '
';
return $output;
}
// Always return $init
return $init;
}
?>
aber auch phptemplate_search_item... funktioniert nicht. hab ich etwas übersehen?
Danke für die schnelle Antwort :)
'PA' und 'PV'
am 13.07.2008 - 13:10 Uhr
Ich würde mich da mal mit 'PA' und 'PV' etc. a bisserl sortieren. Was jetzt genau? Wie heißt der Theme-Ordner, welche Dateien sind da drin, wo und wie genau hast Du die Funktion hineingeschrieben?
EDIT: bist Du sicher, dass Du Drupal 5.x benutzt? Theme.info-Dateien haben wir doch erst ab Drupal 6.x ?!
Wen Drupal einige
am 13.07.2008 - 14:33 Uhr
Wen Drupal einige Änderungen an der template.tpl.php nicht frisst, einfach admin/build/themes auf rufen und dann einfach dann speichern klicken.
Sowas hilft bei mir immer wenn ich neue node-*.tpl.php Dateien erstelle.
Ordnung:
am 13.07.2008 - 17:34 Uhr
Sorry für die "Unordnung" aber das Theme wurde unbenannt
sites/all/themes/PV/
Die *.info Datei hab ich nun gelöscht, hatte die von einer anderen Theme Datei übernommen und dachte diese wäre für etwas relevant.
Also die template.php fängt mit
"<?php
function PV_regions() {
return array("
an.
Am Schluss hab ich nun
"function PV_search_item($item, $type) {
$output = '
';
return $output;
}"
stehen, was aber leider nicht funktioniert.
Hm. Das mit den Regions
am 13.07.2008 - 18:30 Uhr
Hm. Das mit den Regions klappt aber schon, ja? Ich meine, hast Du da mal eine hinzugefügt, die jetzt auch da ist? Desweiteren: ersetze doch mal das
<?php return §output; ?>mit<?php return 'Teststring'; ?>und sieh mal, ob das gefressen wird, sprich, ob die Suchergebnisse nun aus einer Liste von Teststrings bestehen.Für mich ist auch die Frage, ob die template.php überhaupt etwas bewirkt in Deinem Theme, kannst Du das mal austesten?
ich habs:
am 13.07.2008 - 19:21 Uhr
Mensch, ich habs :)
jetzt hab ich das INIT hochgesetzt, war wohl ein Denkfehler:
<?php
...
// Always return $init
return $init;
}
function phptemplate_search_item($item, $type) {
$output = ' <dt class="title"><a href="'. check_url($item['link']) .'">'. check_plain($item['title']) .'</a></dt>';
$output .= '......';
return $output;
}
...
?>
Hatte zuerst das $init UNTER der search_item.
Danke für die Mühe, hat mich auf den richtigen Draht gebracht.
Grüße!
??
am 13.07.2008 - 19:53 Uhr
Kannst Du mal ein "vorher - nachher" beisteuern? Verstehe Bahnhof. Wie auch immer. Schön für Dich, dass es jetzt geht.
Vorher/Nacher
am 13.07.2008 - 20:29 Uhr
Vorher:
<?php...
function phptemplate_search_item($item, $type) {
$output = ' <dt class="title"><a href="'. check_url($item['link']) .'">'. check_plain($item['title']) .'</a></dt>';
$output .= '......';
return $output;
}
// Always return $init
return $init;
}
?>
Nacher:
<?php...
// Always return $init
return $init;
}
function phptemplate_search_item($item, $type) {
$output = ' <dt class="title"><a href="'. check_url($item['link']) .'">'. check_plain($item['title']) .'</a></dt>';
$output .= '......';
return $output;
}
?>
Aha
am 13.07.2008 - 20:41 Uhr
Du hattest die Funktion also in eine andere hineinkopiert - und das hat dann konsequenterweise nicht funktioniert.
Weiterhin viel Glück beim Coden,
Grüße.