cAutoload::addClassmapConfig() geht nicht

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

cAutoload::addClassmapConfig() geht nicht

Beitrag von mattmarr » So 28. Jul 2019, 12:26

Hallo!

Ich spiele gerade mit den Möglichkeiten eines Plugins rum.
Habe dabei ein Problem.
Wenn ich mit Hilfe von

Code: Alles auswählen

cAutoload::addClassmapConfig(array('cContentTypeMeinType' => '$pfadPlugin . 'classes/class.content.type.mein_type.php'));
einen eigenen CMS_TYPE registrieren will, scheint überhauptnichts zu passieren.

Ich habe auch in der plugin.xml den content type gemeldet:

Code: Alles auswählen

plugin>
...
<content_types>
        <type>CMS_MEINTYPE</type>
</content_types>
</plugin>
die class.content.type.mein_type.php sieht zum testen in etwa so aus:

Code: Alles auswählen

<?php

class cContentTypeMeinType extends cContentTypeAbstractTabbed {

   function __construct($rawSettings, $id, array $contentTypes) {

        // set attributes of the parent class and call the parent constructor
        $this->_type = 'CMS_MEINTYPE;
        $this->_prefix = 'meintype';
        $this->_settingsType = self::SETTINGS_TYPE_XML;
        $this->_formFields = array(
            ...
        );

        // encoding conversions to avoid problems with umlauts
        $rawSettings = conHtmlEntityDecode($rawSettings);
        $rawSettings = utf8_encode($rawSettings);
        
        parent::__construct($rawSettings, $id, $contentTypes);

        ...
    }
    ...
}
Im Module rufe ich dann mit "CMS_MEINTYPE[1]" diesen auf. Doch der bleibt einfach als String im Output stehen.

Benutz derzeit Contenido 4.9.11.

Kann mir wer einen Tipp geben was ich falsch mache?


Gruß
Matthias

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

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von McHubi » So 28. Jul 2019, 20:13

Hallo Matthias,

einen Tipp habe ich leider nicht für Dich.

Benutz derzeit Contenido 4.9.11.
Dann hast Du Dich im Forenbereich vertan. Hier finden sich F&A rund um die 4.10.

@Admins: Könnt ihr den Beitrag bitte verschieben?
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)

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von mattmarr » So 28. Jul 2019, 21:02

Hallo McHubi!

ups, stimmt...komplett falsches Forum hier. :(

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

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von Oldperl » Mo 29. Jul 2019, 09:26

Verschoben! :)

Gruß aus Franken

Ortwin

PS. @McHubi, @Moderatoren hilft auch, die können auch verschieben... 8)
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

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von homtata » Mo 29. Jul 2019, 11:29

Hallo mattmarr,

mir scheint, dass deine class.content.type.mein_type.php nicht das liefert, was laut Doku erwartet wird. Da müssen recht spezifische Angaben rein, siehe comments hier:
https://api.contenido.org/latest/source ... ml#133-159

Vielleicht liegt da schon der Hund begraben.

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von mattmarr » Mo 29. Jul 2019, 13:56

Hallo homtata,
homtata hat geschrieben:
Mo 29. Jul 2019, 11:29
mir scheint, dass deine class.content.type.mein_type.php nicht das liefert, was laut Doku erwartet wird. Da müssen recht spezifische Angaben rein, siehe comments hier:
https://api.contenido.org/latest/source ... ml#133-159

Vielleicht liegt da schon der Hund begraben.
Leider nein. Hab mir das nochmal genau angeschaut und getestet. Es kommt keine Reaktion nach dem Aufruf der cAutoload-Funktion. Als wenn die Klassen-Datei nicht mal angefasst wird. Fehlermeldung finde ich auch keine im Log vom Contenido.


Gruß
Matthias

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von homtata » Mo 29. Jul 2019, 14:17

Irgendwie habe ich nach Durchsicht der Doku das Gefühl, dass du mit der addClassMap zwar weitere Klassen registrieren kannst, dass dich das aber nicht wirklich weiterbringt in Bezug auf das Registrieren eines neuen ContentType.
UND/ODER du duplizierst wirklich mal die KOMPLETTE class.content.type.teaser.php und benennst nur den Klassennamen um, um mal zu sehen, ob dann was passiert bei deinem Aufruf.

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

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von Oldperl » Di 30. Jul 2019, 08:53

Servus,

was bitte steht denn in $pfadPlugin drin?

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

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von homtata » Di 30. Jul 2019, 09:10

und zudem ist in deiner Quelle

Code: Alles auswählen

cAutoload::addClassmapConfig(array('cContentTypeMeinType' => '$pfadPlugin . 'classes/class.content.type.mein_type.php'));
auch mindestens ein Anführungzeichen zuviel, vor $pfadPlugin...

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von mattmarr » Di 30. Jul 2019, 09:37

Hallo Ortwin,
Oldperl hat geschrieben:
Di 30. Jul 2019, 08:53
was bitte steht denn in $pfadPlugin drin?
In $pfadPlugin steht folgendes und ich auch korrekt:

Code: Alles auswählen

$pfadPlugin = "contenido/plugins/meintype/";
Auch hatte ich den kompletten DOCUMENT_ROOT als versuch.

Das zu viele Anführungszeichen ist mir hier beim erstellen der Frage mit reingerutscht. Im Original ist alles Ok.



Gruß
Matthias

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

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von Oldperl » Di 30. Jul 2019, 09:40

Servus Matthias,

das sollte korrekt sein. Dein Plugin bindet nur diesen CMS-Type ein? Das habe ich nämlich so allein noch nicht gemacht, da müsste ich erst mal die Situation nachstellen.

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

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von mattmarr » Di 30. Jul 2019, 10:08

Hallo Ortwin.
Oldperl hat geschrieben:
Di 30. Jul 2019, 09:40
Dein Plugin bindet nur diesen CMS-Type ein?
Ja.
Die Plugins "user_forum" und "form_assistant" machen es auch und diese habe ich als Beispiel genommen.


Gruß
Matthias

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von homtata » Di 30. Jul 2019, 10:25

Hast du es denn schonmal mit einer vollständigen Kopie von
class.content.type.user_forum.php
durchgespielt, also nicht kastriert, sondern nur wenige Elemente umbenannt in der Klasse? Wenn die functions für Viewcode usw. nicht da sind, dann wird da wohl nicht viel passieren. Ich würde quasi mit der kompletten Forumskopie anfangen und dann Stück für Stück wegstreichen, was geht. Läuft schon die Kopie nicht, dann ist noch an einer anderen Stelle was übersehen...

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: cAutoload::addClassmapConfig() geht nicht

Beitrag von mattmarr » Di 30. Jul 2019, 18:11

Hi!

Ich werde mir das am Wochenende nochmal in ruhe anschauen.
Der Rest der Woche ist stramm gelegt was Internetseiten betrifft.


Grüße
Matthias

Antworten