+ Antworten
Ergebnis 1 bis 5 von 5

Thema: [verschoben] Mambot verhält sich merkwürdig

  1. #1
    Neu an Board Avatar von BikerT
    Registriert seit
    09.11.2006
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard [verschoben] Mambot verhält sich merkwürdig

    Hallo,

    ich habe meinen ersten Mambot geschrieben. Momentan macht der nichts anderes als einen Text in H1 auszugeben; einfach zum testen. Ich konnte den Mabot auch installieren. Allerdings geschieht folgendes, wenn ich ihn publiziere. Die H1 wir als aller erstes ausgegeben, noch vor der eigentlichen Seitenüberschrift. Und das auf jeder Seite. Eigentlich wollte ich, dass der Text nur dort erscheint, wo ich den Mambot mit {mosimmolist} einbinde.

    Hier der Code
    PHP-Code:
    <?php
    defined
    '_VALID_MOS' ) or die( 'Direct Access to this script is not allowed');

    $_MAMBOTS->registerFunction'onPrepareContent''botMosImmoList' );

    function 
    botMosImmoList$published, &$row  )
    {
       if( !
    $published )
       {
          
    $row->text preg_replace'/{moshotlink[^}]*}/s'''$row->text ) ;
          return 
    true ;
       }
       echo 
    "<h1>Das ist H1</h1>" ;
       echo 
    "<h2>Das ist H1</h2>" ;
       echo 
    "<h3>Das ist H1</h3>" ;
       echo 
    "<h4>Das ist H1</h4>" ;
       echo 
    "<h5>Das ist H1</h5>" ;
       echo 
    "<h6>Das ist H1</h6>" ;
       return 
    true ;
    }

    ?>
    Un hier die XML Datei:
    PHP-Code:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <mosinstall type="mambot" group="content" version="1.0">
       <name>IS24 Object List</name>
       <author>Thomas Grasse</author>
       <creationDate>November 15, 2006</creationDate>
       <copyright>(C) 2006 Thomas Grasse</copyright>
       <license>GNU GPL</license>
       <version>0.1</version>
       <description>Lists Immobilienscout24 objects</description>
       <files>
          <filename mambot="mosimmolist">mosimmolist.php</filename>
       </files>
       <params/>
    </mosinstall>
    Danke schon mal im voraus für die Hilfe.

    Thomas

  2. #2
    Gehört zum Inventar Avatar von deejey
    Registriert seit
    22.04.2006
    Ort
    HH
    Beiträge
    9.309
    Bedankte sich
    509
    Erhielt 1.791 Danksagungen
    in 1.583 Beiträgen

    Standard

    Fehler 1:
    $row->text = preg_replace( '/{moshotlink[^}]*}/s', '', $row->text ) ;
    statt moshotlink muss hier dein {mosimmolist} rein sonst bleibt es im Text stehen

    Fehler2:
    Du hast die Bot-Mechanik missverstanden: Die Bots geben keine Texte oder sonstwas aus, sie reichern den empfangenen Text mit eigenen Informatinen/Texten/Grafiken/Formularen an. Also kein echo sondern hängst deine formatierten Daten an $row->text dran. Es laufen ja mehrere Bots nacheinander ab bevor der Content ausgegeben wird. Auch hier muss übrigens {mosimmolist} ausgemerzt werden sonst ist es im Text sichtbar.

    Die Anzeige übernimmt schliesslich nach Abarbeitung aller Bots joomla.
    Kein Support über PM; Ignoriermodus aktiv bei "dringend", "schnell", "eilt", denn: Zeit ist relativ

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board Avatar von BikerT
    Registriert seit
    09.11.2006
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Jetzt geht alles wie gewünscht. Eine Verständnisfrage hätte ich allerdings noch. Wieso wurde die Ausgabe des "echo ..." auf jeder Seite als erstes erzeugt? Ich dachte, ein Mambot wird nur aufgrufen, wenn man ihn mit {xyz} angibt.

  5. #4
    Gehört zum Inventar Avatar von deejey
    Registriert seit
    22.04.2006
    Ort
    HH
    Beiträge
    9.309
    Bedankte sich
    509
    Erhielt 1.791 Danksagungen
    in 1.583 Beiträgen

    Standard

    ist doch klar, der Bot muss selbst feststellen ob er laufen darf oder nicht, also nicht nur abfragen auf not published sondern immer auch den Text nach dem Botaufrufstring scannen. Joomla weiß davon nix, es ruft einfach alle eingetragenen Bots auf.
    Kein Support über PM; Ignoriermodus aktiv bei "dringend", "schnell", "eilt", denn: Zeit ist relativ

  6. #5
    Neu an Board Avatar von BikerT
    Registriert seit
    09.11.2006
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ach soo.. Jetzt hab ich wohl verstanden. Es ist gar nicht so, dass Joomla den Mambot aufruft, wenn {xyz} da steht, sondern beim Aufbau jeder beliebigen Seite alle Mambots aufgerufen werden und sie dann selber nachschauen muessen, ob {xyz} im content steht. So betrachtet macht es dann auch keinen Sinn, eine Reihe von XML-RPCs abzufeuern und nachher festzustellen, dass der Mambot auf der Seite gar nicht vorgesehen ist. Vielen Dank noch mal.

    Thomas

+ Antworten

Ähnliche Themen

  1. Verwendung von MosModule & modulebot mambot
    Von skiordie im Forum Mambots
    Antworten: 8
    Letzter Beitrag: 19.09.2008, 09:43
  2. Mambot für eigene Komponente ??
    Von joomlajobs im Forum Joomla Mambots
    Antworten: 0
    Letzter Beitrag: 24.02.2006, 15:09
  3. mambot oder html Code...
    Von Wida52 im Forum Joomla Mambots
    Antworten: 0
    Letzter Beitrag: 07.01.2006, 09:53
  4. mambot failed
    Von mari0 im Forum Mambots
    Antworten: 1
    Letzter Beitrag: 24.05.2005, 19:05

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein