Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cookbook:droplets [2014/09/22 12:49] shadowcat [Das Droplet in die Suchfunktion einbeziehen] |
cookbook:droplets [2015/04/01 00:00] (aktuell) |
||
---|---|---|---|
Zeile 51: | Zeile 51: | ||
''CAT_Helper_Droplet::register_droplet_header( //String// $droplet_name, //Integer// $page_id, //String // $module_directory)'' | ''CAT_Helper_Droplet::register_droplet_header( //String// $droplet_name, //Integer// $page_id, //String // $module_directory)'' | ||
- | Diese Funktion wird im Droplet selbst aufgerufen. Um zu vermeiden, daß sich ein Droplet mehrfach registriert, existiert eine entsprechende Funktion | + | Diese Funktion kann im Droplet selbst aufgerufen werden, da ja nur das Droplet "weiß", auf welcher Seite es eingebunden ist. Um zu vermeiden, daß sich ein Droplet mehrfach registriert, existiert eine entsprechende Funktion |
''CAT_Helper_Droplet::is_registered_droplet_header( //String// $droplet_name, //Integer// $page_id)'' | ''CAT_Helper_Droplet::is_registered_droplet_header( //String// $droplet_name, //Integer// $page_id)'' | ||
Zeile 79: | Zeile 79: | ||
''register_droplet_js( //String// $droplet_name, //Integer// $page_id, //String// $module_directory, //String// $file)'' | ''register_droplet_js( //String// $droplet_name, //Integer// $page_id, //String// $module_directory, //String// $file)'' | ||
+ | <WRAP center round important 100%> | ||
+ | Wichtig! Das ''$module_directory'' muß relativ zu CAT_PATH angegeben werden, also z.B. ''/modules/mymodule''. Liegt die Datei in einem Unterverzeichnis - z.B. ''/modules/mymodule/css'' - kann das Unterverzeichnis bei ''$file'' angegeben werden. | ||
+ | </WRAP> | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | <sxh php> | ||
+ | if(!CAT_Helper_Droplet::is_registered_droplet_css('mymodule',$page_id)) { | ||
+ | CAT_Helper_Droplet::register_droplet_css('mymoduledroplet',$page_id,'/modules/mymodule','/css/frontend.css'); | ||
+ | } | ||
+ | </sxh> | ||
===== Das Droplet in die Suchfunktion einbeziehen ===== | ===== Das Droplet in die Suchfunktion einbeziehen ===== | ||
- | Da war doch noch die Einschränkung mit der Suche. Ein Droplet kann sehr einfache oder für die Suche nicht relevante Informationen in die Seite einbinden, z.B. das Datum der letzten Änderung, das Suchformular selbst oder eine Login-Box. Es kann aber auch sehr komplexe Inhalte liefern, z.B. einen Veranstaltungskalender. Und die möchte man dann bei der Suche durchaus auch finden können. | + | Da war doch noch die Einschränkung mit der Suche... |
+ | |||
+ | Ein Droplet kann sehr einfache bzw. für die Suche nicht relevante Informationen in die Seite einbinden, z.B. das Datum der letzten Änderung, das Suchformular selbst oder eine Login-Box. Es kann aber auch sehr komplexe Inhalte liefern, z.B. einen Veranstaltungskalender. Und die möchte man dann bei der Suche durchaus auch finden können. | ||
Hierzu existiert analog zur Funktion ''<module_directory>_droplet_header($page_id)'' eine Funktion ''<module_directory>_droplet_search($page_id)'', die in der Datei ''droplet.extension.php'' hinterlegt werden kann. Auch diese wird auf dem 'üblichen' Weg bekannt gemacht: | Hierzu existiert analog zur Funktion ''<module_directory>_droplet_header($page_id)'' eine Funktion ''<module_directory>_droplet_search($page_id)'', die in der Datei ''droplet.extension.php'' hinterlegt werden kann. Auch diese wird auf dem 'üblichen' Weg bekannt gemacht: | ||
Zeile 111: | Zeile 124: | ||
Wobei die Funktion ''<module_directory>_droplet_search($page_id, $page_url)'' einfach alle in Frage kommenden Fundstellen zurückliefern soll - die eigentliche Suche wird von der CMS-Suchfunktion durchgeführt, die hierzu auf das Feld 'text' zugreift. Daher sollte in dem Feld 'text' plain text ohne HTML Formatierungen stehen. | Wobei die Funktion ''<module_directory>_droplet_search($page_id, $page_url)'' einfach alle in Frage kommenden Fundstellen zurückliefern soll - die eigentliche Suche wird von der CMS-Suchfunktion durchgeführt, die hierzu auf das Feld 'text' zugreift. Daher sollte in dem Feld 'text' plain text ohne HTML Formatierungen stehen. | ||
+ | ===== Droplet-Registrierungen entfernen ===== | ||
+ | |||
+ | Bei der Deinstallation des Moduls sollten natürlich auch die Registrierungen entfernt werden, da es sonst zu Fehlermeldungen im Frontend kommt. Hierzu existieren für jeden Typ entsprechende ''unregister''-Methoden: | ||
+ | |||
+ | ''unregister_droplet_search( //String// $droplet_name, //Integer// $page_id)''\\ | ||
+ | ''unregister_droplet_header( //String// $droplet_name, //Integer// $page_id)''\\ | ||
+ | ''unregister_droplet_css( //String// $droplet_name, //Integer// $page_id)''\\ | ||
+ | ''unregister_droplet_js( //String// $droplet_name, //Integer// $page_id)'' |