[Frage] Extension überschreibt andere Extension auf page.1000 (t3lib_extMgm::addPItoST43) [Gelöst] TYPO3-Version: 4.7.4

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    15. 08. 2013, 18:06

    Hi

    Wir haben 2 Extensions wovon aber nur 1 ausgeführt wird.
    Beide agieren auf page.1000 was auf folgenden Befehl in der ext_localconf.php zurück zu führen ist.

    1. t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_geoobj_pi1.php', '_pi1', 'includeLib', 1);
    2. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_csip2language_pi1.php','_pi1','includeLib',1);

    Leider wird bei Angabe von "includeLib" eine switch Anweisung durchlaufen die alle libs die auf diese Weise includet werden auf page.1000 zugewiesen.
    [url]http://api.typo3.org/typo3cms/47/html/class_8t3lib__extmgm_8php_source.html#l01331[/url]

    Wie bekomme ich es hin das eine von beiden nicht auf page.1000 läuft.

    Die einzige Idee die ich gefunden hatte war folgende.
    Leider produziert diese ein WSOD(white screen of death).

    1. $cN = t3lib_extMgm::getCN($_EXTKEY);
    2. $prefix = '_pi1';
    3. $addLine = 'page.8888 = < plugin.'.$cN.$prefix;
    4. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_geoobj_pi1.php','_pi1','rk_meine',1);
    5. t3lib_extMgm::addTypoScript($_EXTKEY,'setup','# Setting '.$_EXTKEY.' plugin TypoScript'.$addLine.'',43);

    Hoffe Ihr habt noch eine Idee.

    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    21. 08. 2013, 17:18 - Lösung

    Hi

    Habe es doch so hin bekommen.
    TYPO3 + Browser hatten nur mega gecacht weshalb es keine Aktualisierung gab.
    Nach folgend die Lösung im Detail.

    1. EXT. geoobj bliebt bei folgenden Einstellungen.
    ext_localconf.php

    1. t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_geoobj_pi1.php', '_pi1', 'includeLib', 1);

    TS-Setup

    1. page.9 = COA
    2. page.9{
    3. 8 < plugin.tx_geoobj_pi1
    4. }

    1. EXT. csip2language wurde abgeändert auf
    ext_localconf.php

    1. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_csip2language_pi1.php','_pi1','list_type',1);

    TS-Setup

    1. page.8 < plugin.tx_csip2language_pi1

    Wichtig ist das das obige TS der EXT. csip2language ins Root Template kommt ansonsten kam sie nicht mehr zur Ausführung.

    Das einzige was mich jetzt noch interessiert ist ob das ein Bug oder ein gewolltes Verhalten beim inkludieren ist wenn man per includeLib einbindet. Was ich mir wegen der Überschreibungen auf page.1000 nicht vorstellen kann.

    Vielen Dank nochmal
    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • Hilfreichster Beitrag

  • jenses jenses
    Flash Gordon
    1 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    21. 08. 2013, 09:48 - Hilfreichster Beitrag

    Na, die Zeile mußt du schon drin lassen, aber abändern nach z.B.

    1. t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_geoobj_pi1.php', '_pi1', 'list_type', 1);

    Und dann im TS Setup
    [code]page.999 < plugin.tx_geoobj_pi1
    [code language=TypoScript]

    Vorher natürlich noch eventuell vorhandenes TS des Plugins einbinden.


  • 1
  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    17. 08. 2013, 12:42

    Ändere doch einfach die Anweisung 'includeLib' nach '',
    und inkludiere die Plugins händisch per Typoscript in der von dir gewünschten Reihenfolge.

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    17. 08. 2013, 19:09

    Hi

    Wie soll das genau gehen?
    Hab so was schon mal ausprobiert aber war wohl zu blöd dafür.
    Ich hatte allerdings die gesamte Zeile(t3lib_extMg....) auskommentiert und dann per

    1. page.xxx < plugin.tx.....
    inkludiert was leider nicht funktionierte.

    Grüßle Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • jenses jenses
    Flash Gordon
    1 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    21. 08. 2013, 09:48

    Na, die Zeile mußt du schon drin lassen, aber abändern nach z.B.

    1. t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_geoobj_pi1.php', '_pi1', 'list_type', 1);

    Und dann im TS Setup
    [code]page.999 < plugin.tx_geoobj_pi1
    [code language=TypoScript]

    Vorher natürlich noch eventuell vorhandenes TS des Plugins einbinden.

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    21. 08. 2013, 10:30

    Hi.
    Leider funktioniert das bei beiden EXTs nicht.

    Die EXT geoobj wurde/war schon über

    1. page.9 = COA
    2. page.9{
    3. 8 < plugin.tx_geoobj_pi1
    4. }

    inkludiert nur sobald ich eine der folgenden Zeilen einfüge
    1. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_csip2language_pi1.php','_pi1','list_type',1);
    2. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_csip2language_pi1.php','_pi1','includeLib',1);

    bekomme ich einen WSOD.

    Die andere EXT csip2language wird wenn ich Sie mit list_type inkludiere und per page.999 < plugin... überhaupt nicht ausgeführt.

    Zu sagen ist noch das die EXT geoobj vom Typ USER ist und die andere vom Typ USER_INT.

    Mir ist das alles halt etwas rätselhaft weil warum fällt das nur mir auf das wenn man per

    1. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_extname_pi1.php','_pi1','includeLib',1);

    Extension inkludiert immer die eine die anderen überschreibt?!?!B-|
    Es gibt ja bestimmt viele Extensions die diesen Befehl benutzen und das würde ja bedeuten das immer nur eine einzige EXT über includeLib eingefügt werden kann.
    Immerhin wird hier die Api benutzt und nicht irgendein selbst gestricktes php.
    Das riecht für mich nach Bug oder?

    Hast Du vielleicht noch eine Idee?

    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    21. 08. 2013, 17:18

    Hi

    Habe es doch so hin bekommen.
    TYPO3 + Browser hatten nur mega gecacht weshalb es keine Aktualisierung gab.
    Nach folgend die Lösung im Detail.

    1. EXT. geoobj bliebt bei folgenden Einstellungen.
    ext_localconf.php

    1. t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_geoobj_pi1.php', '_pi1', 'includeLib', 1);

    TS-Setup

    1. page.9 = COA
    2. page.9{
    3. 8 < plugin.tx_geoobj_pi1
    4. }

    1. EXT. csip2language wurde abgeändert auf
    ext_localconf.php

    1. t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_csip2language_pi1.php','_pi1','list_type',1);

    TS-Setup

    1. page.8 < plugin.tx_csip2language_pi1

    Wichtig ist das das obige TS der EXT. csip2language ins Root Template kommt ansonsten kam sie nicht mehr zur Ausführung.

    Das einzige was mich jetzt noch interessiert ist ob das ein Bug oder ein gewolltes Verhalten beim inkludieren ist wenn man per includeLib einbindet. Was ich mir wegen der Überschreibungen auf page.1000 nicht vorstellen kann.

    Vielen Dank nochmal
    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • 1