+ Antworten
Ergebnis 1 bis 3 von 3

Thema: filter plugin - übergabe von string

  1. #1
    Neu an Board
    Registriert seit
    07.05.2010
    Beiträge
    11
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard filter plugin - übergabe von string

    Hallo JP-Gemeinde!

    Das ist mein erster Versuch ein plugin zu realisieren.
    Folgendes soll geschehen:
    Mittels 'onPrepareContent' möchte ich aus dem jeweiligen Beitrag das erste Bild herausfiltern, so dass ich dieses dann vor dem Titel darstellen kann. Das klappt auch, aber ich denke, das ist nicht die korrekte bzw.keine "schöne" Lösung:
    PHP-Code:

    function plgContentFiltermove( &$row, &$params$page=)
    {
            
    // simple performance check to determine whether bot should process further
            
    if ( JString::strpos$row->text'<img' ) === false ) {
                    return 
    true;
            }                                                                                                                                                                        

            
    // Get Plugin info                                                                                                               
            
    $plugin =& JPluginHelper::getPlugin('content''filtermove');                                                                    

            
    $regex "#<img \s*(.*?)>(.*?)>#s";

            
    $image_tagpreg_match ($regex,$row->text,&$matches);
            
    $row->text preg_replace$regex''$row->text );
            echo 
    "<p style=\"text-align: center\">".$matches[0]."</p>";
            return 
    true;

    So wird das Image dann vor dem Beitrag dargestellt. Aber somit wird ja hier die Darstellung realisiert und soweit ich das mitbekommen habe, ist das ja nicht im Sinne von MVC, oder? (Bin kein gelernter Informatiker, daher ist mir das Prinzip nicht geläufig)
    Ist es möglich, quasi einen String zu exportieren, so dass ich den im Template (z.b. in ./template/htm/com_content/section/blog_item.php) dann bspw. mittels '$this->item->titleimage' oder ähnlichem einbinden kann?

    EDIT: Achso, joomla v. 1.5.15
    Geändert von c-bob (20.05.2010 um 10:22 Uhr)

  2. #2
    Joomla Guru Avatar von elkuku
    Registriert seit
    14.06.2006
    Ort
    Guayaquil - Südamerika
    Beiträge
    1.689
    Bedankte sich
    74
    Erhielt 517 Danksagungen
    in 397 Beiträgen

    Standard

    hallo c-bob - es gab hier mal einen T-Bob

    In Plugins hast Du recht wenig Möglickeiten das MVC Pattern anzuwenden. Mach Dir keine Gedanken

    Das was Du da probierst siehst für mich eigentlich auch ganz OK aus - legal..

    Ist es möglich, quasi einen String zu exportieren,.
    Von woher nach wohin soll er denn exportiert weren ? Vom Plugin in den Template override ? Dafür kann man im Content Platzhalter machen welche dann durch Dein Plugin ersetzt werden. Nach dem gleichen Muster wie Du es bereits tust.

    Such Dir etwas nettes aus z.B. {triggerFoo bar=hello baz=misifu} das kannst Du dann in Deinem Plugin verregechsen

    War das ungefähr das was Du meintest ?

    Ach ja, bevor ich's vergesse im http://wiki.joomla-nafu.de gibts mehr Informationen - cu there
    Gruß,
    Nikolai
    Hilf mit: Deutsche Joomla! Dokumentation Help testing: EasyCreator Noch Fragen ? Forum.Joomla-Nafu.de

  3. #3
    Neu an Board
    Registriert seit
    07.05.2010
    Beiträge
    11
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    @elkuku:
    Vielen Dank für den Hinweisdafür, dass das so gehen könnte. ich habe das jetzt ganz simpel so erweitert, dass ich dem jeweiligen bild noch ein doppel-raute "##" voran stelle, somit kann ich genauer definieren, welches Bild gemeint ist und laufe nicht gefahr, die falschen Bilder zu bewegen.

    Aber trotzdem die Zeile "echo "<p style=\"text-align: center\">".$matches[0]."</p>";" gefällt mir so noch nicht - interessanter wäre wirklich die Übergabe per Variable. Da hab ich noch nicht so recht verstanden, wie Du das jetzt meintest. Meintest Du, dass ich im Template override auch nochmal per Regex filtern soll und dieses Ergebniss dann erst ausgeben??

+ Antworten

Lesezeichen

Berechtigungen

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