Plugin verhindert Aufruf von Artikel-Reitern

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von McHubi » Do 22. Mai 2014, 14:32

Hallo zusammen,

ich komme mit den Dokus zum PIM nicht weiter (https://docs.contenido.org/display/CONDEVE/Plugin und http://forum.contenido.org/viewtopic.php?f=91&t=32451).
Das unter "Content" installierte Plugin selbst funktioniert wie es soll, aber es gibt eine unangenehme Nebenwirkung:
Wenn ein Artikel editiert werden soll, funktionieren die Reiter "Eigenschaften, Konfiguration, ..." nicht mehr. Sie können zwar angeklickt werden und sind dann auch entsprechend "unterlegt", aber es passiert nichts. Lediglich ein Klick auf den Titel in der Übersicht führt in den Editor mit dem auch normal gearbeitet werden kann. Von da aus ist dann aber auch kein Aufruf der Konfi usw. möglich.
Deinstalliere oder deaktiviere ich das Plugin, klappt es wieder.

Hat jemand eine Idee woran das liegen könnte? Sich beißende Javascripte können es nicht sein, da ich im Plugin keine verwende. :roll:

Bin dankbar für Tipps! :D
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von McHubi » Fr 23. Mai 2014, 09:01

Guten Morgen!

Ursache für das Problem ist gefunden: "unorthodox" eingebundes CSS. In der config.plugin.php habe ich am Ende

Code: Alles auswählen

//css
echo '<style type="text/css">
div.area_main {
font-family: arial, helvetica, sans-serif;
font-size: 0.9em;
}
...
</style>';
?>
eingebunden.
Lasse ich das weg, funktioniert auch wieder der Aufruf der Artikelreiter. So weit, so gut. Nur, wie bekomme ich die styles jetzt für das Plugin hinterlegt? Im Bereich der 4.9er spuckt mir die Suche diesen Treffer aus: http://forum.contenido.org/viewtopic.php?f=91&t=34816
Aber was genau bedeutet hier:
Derzeit ist die Struktur für Plugins ja so angelegt, dass - insofern in /myplugin/styles eine Datei mit der Namensnennung vom Schema:
*.<pagename>.css
enthält, diese automatisch geladen wird.
Wofür steht hier *.<pagename>? Schaue ich mir z.B. das AMR an, ist dort einfach im Ordner eine styles.css hinterlegt. Also habe ich in meinem Plugin ebenfalls einen Ordner "styles" mit einer "styles.css" erstellt. Nur werden hier auch nach einer kompletten Neuinstallation des Plugins keine Klassen automatisch geladen. Muss hier noch irgendwo ein "Verweis" auf die CSS-Datei hinterlegt werden? Habe einmal die Dateiinhalte des AMR-Plugins nach "styles" durchsucht und nichts gefunden außer im Template per "<link rel="stylesheet" type="text/css" href="plugins/mod_rewrite/styles/styles.css">". Nur, was wenn ich kein Template nutze?

Kopfkratz... :(
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von Oldperl » Fr 23. Mai 2014, 09:56

Servus Markus,

CSS in Plugins musst du, soweit mir bekannt, auch in der 4.9er noch manuell einbinden. Das mit den css- und js-Dateien aus dem anderen Posting kann ich so nicht nachvollziehen, eine automatische Einbindung habe ich weder in der Core-API noch in der Dev-Doku gefunden.

Grundsätzlich besteht aber auch immer die Möglichkeit mit eigenen CSS-Klassen das Layout im Plugin zu beeinflussen oder, sofern man das neue cGUI-System nutzt, CSS- und JS-Dateien darüber einzubinden, so wie es beispielhaft im Solr Search Plugin gemacht wird.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von McHubi » Fr 23. Mai 2014, 10:29

Hallo Ortwin,

Danke Dir für den Hinweis. :D Habe mir einmal das Solr-Plugin angeschaut und folgendes gemacht:
config.plugin.php ergänzt um

Code: Alles auswählen

$cfg['templates']['MEINPLUGINNAME_right_bottom'] = $cfg['plugins'][MEINPLUGINNAME::getName()] . 'templates/template.right_bottom.tpl';
In den Ordner MEINPLUGINNAME/templates die beiden Dateien
template.right_bottom.tpl

Code: Alles auswählen

<!-- MEINPLUGINNAME/templates/template.right_bottom.tpl -->

<!-- /MEINPLUGINNAME/templates/template.right_bottom.tpl -->
template.right_bottom.html

Code: Alles auswählen

<!-- MEINPLUGINNAME/templates/template.right_bottom.html -->

Hallo Welt!

<!-- /MEINPLUGINNAME/templates/template.right_bottom.html -->
kopiert. Den Inhalt der "template.right_bottom.html" des search_solr habe ich entfernt, da ich nichts davon brauchen kann und hier auch keine Verweise auf eine css-Datei vorhanden waren.

Das reicht aber irgendwie nicht, die css-Datei in "styles" wird noch nicht eingebunden. Und das search_solr hat ja unter "styles" eine "right_bottom.css". Suche ich in den Dateiinhalten des Plugins nach "right_bottom", finde ich nichts zur Einbindung der Datei.
Also habe ich meine css-Datei in "right_bottom.css" umbenannt, was aber auch nicht hilft.

In der plugin.xml meines Plugins haben auch alle Inhalte frameId="4" zugeordnet. Das passt also auch zu "right_bottom".

Seufz... :shock:
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

mischa.holz
Beiträge: 86
Registriert: Do 28. Jun 2012, 15:30
Wohnort: Darmstadt
Kontaktdaten:

Re: Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von mischa.holz » Mi 28. Mai 2014, 09:48

CSS und JS Dateien aus dem plugin Ordner werden tatsächlich automatisch von der Klasse cGuiPage eingebunden. Das erste Argument des Konstruktors dieser Klasse ist der <pagename>, den du suchst.

Eine genauere Dokumentation der Klasse findest du hier: http://api.contenido.org/latest/class-cGuiPage.html
Ein "einfaches" Beispiel für die Benutzung ist hier zu finden. Die nötigen JS Dateien für den Drag&Drop Uploader werden hier automatisch eingebunden von der Klasse. Das ganze funktioniert auch mit Plugins:

Code: Alles auswählen

$page = new cGuiPage("mypagename", "mypluginname");
Dannach kann die $page variable wie ein cTemplate benutzt werden. Als Template Datei wird nach einer Datei names template.mypagename.html im /templates/ Ordner des Plugins benutzt. Dieses Template sollte nicht eine komplette Seite sein, sondern nur der Teil, der im body steht. Der Rest wird von CONTENIDO hinzugefügt.
Alle JS und CSS Dateien aus /scripts und /styles des Plugin Ordners, die *.mypagename.css oder mypagename.css heißen werden automatisch in die Seite eingebunden (die Reihenfolge ist jedoch zufällig. Sollte die Reihenfolge wichtig sein, wäre es besser selbst addScript/addStyle aufzurufen).

Die Dokumentation von diesen Features ist jedoch ausbaufähig... Ich werde dazu evtl. heute noch einen Artikel in der Entwicklerdoku schreiben.
CONTENIDO Doku - API Doku - Git Repo - Bug Tracker - CONTENIDO 4.9.4!!
Arbeitet nicht mehr bei 4fb

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von McHubi » Di 3. Jun 2014, 11:21

Hallo Mischa,

Danke Dir für die Infos. Werde mir das Ganze einmal anschauen. Im Moment habe ich mir so weitergeholfen, indem ich die CSS-Infos in eine php-Datei ausgelagert

Code: Alles auswählen

<?php
echo '<style type="text/css">
...
</style>';
?>
und die Klassen per

Code: Alles auswählen

include('include.plugin_css.php');
eingebunden habe.
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

mischa.holz
Beiträge: 86
Registriert: Do 28. Jun 2012, 15:30
Wohnort: Darmstadt
Kontaktdaten:

Re: Plugin verhindert Aufruf von Artikel-Reitern

Beitrag von mischa.holz » Mi 11. Jun 2014, 15:25

Ist vielleicht etwas zu spät, aber ich habe einen sehr ausführlichen Beitrag über die Plugin Entwicklung geschrieben (in dem auch ein paar Features von cGuiPage gezeigt werden): https://docs.contenido.org/display/COND ... e+a+Plugin

Vielleicht hiflts ja doch noch dem einem oder anderen ^.^
CONTENIDO Doku - API Doku - Git Repo - Bug Tracker - CONTENIDO 4.9.4!!
Arbeitet nicht mehr bei 4fb

Antworten