Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche jemanden für Scriptanpassung

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche jemanden für Scriptanpassung

    Hallo,
    ich suche jemanden, der mir bei folgendem helfen kann ..
    Also ich habe XML Dateien, die mit dem Plugin wpallimport eingelesen, umgewandelt und als Beiträge importiert werden.
    Das funktioniert soweit auch sehr gut.
    Allerdings funzt es bei einer Sache nicht so wie ich will und zwar bei eingeschobenen Child Elementen (oder Attributen) <auszeichnung>, bei denen der Text zwischen den Text des Elternelements <inhalt> eingefügt werden soll.


    HTML-Code:
    ... (der Pfad ist noch länger)
    ...
    <reisetag order="5">
    <Verpflegung>F/M</Verpflegung>
    
    <tag>5. Tag, Mittwoch, 17.05.2017</tag>
    <titel>Beijing – Xian</titel>
    
    <inhalt>
    
    Noch ein Hauptstadtklassiker nach dem Frühstück: der aktive Lamatempel. Kleine Lunch-Stärkung und –
    dem mittlerweile weltgrößten Schnellbahnnetz sei Dank – rasant mit dem
    <auszeichnung format="fett">Hochgeschwindigkeitszug</auszeichnung>
    in nur sechs Stunden ins Herz Chinas, nach Xian, einstiges Ende der Seidenstraße.
    Kulinarischer Abendtipp: Jiaozi – die lokale Version der Maultasche. Zwei Übernachtungen.
    </inhalt>
    </reisetag>
    ...
    Hierfür benötigt das Plugin eine php funktion, die mir das passend zusammenfügt und richtig ausgibt - z.Bsp. als "alltext".
    Der Support des Plugins hat mir hier eine Vorlage geschickt, die noch angepasst werden muss. - und dafür brauche ich bitte Hilfe, denn ich habe keinen Plan wie und wo da was ergänzt oder geändert werden muss.


    It is not possible in XPath alone to do this. You would need to write some custom code tied to the 'wpallimport_xml_row' hook for this, similar to this code :


    PHP-Code:
    add_filter'wpallimport_xml_row''wpai_wpallimport_xml_row'10);

    function 
    wpai_wpallimport_xml_row$node ){
    $elements $node->xpath'//reisetag[1]' );
    if ( !empty( 
    $elements] ) ) $node->addChild'alltext'$elements]->asXML() );
    return 
    $node;

    Once you’ve added that, you can then use the following element to return ‘text bla bla bla bla bla Hochgeschwindigkeitszug more bla bla bla’:
    {alltext[1]}
    In der Importvorlage von dem Plugin (WPALLIMPORT) würde die php Funktion dann so aufgerufen werden:

    [FOREACH({stml_data[1]/srml_journeys[1]/srml_journey[1]/srml_description[1]/reise[1]/verlauf[1]/reisetag})]

    {@order}. Tag: {titel[1]}

    [wpai_wpallimport_xml_row({alltext[1]})]

    ({Verpflegung[1]})[ENDFOREACH]

    und sollte dann so im Beitrag ausgegeben werden (egal ob fett - hauptsache der Text aus dem element <auszeichnung> ist an der richtigen Stelle zwischen dem Text aus <inhalt>)

    5. Tag: Beijing – Xian
    Noch ein Hauptstadtklassiker nach dem Frühstück: der aktive Lamatempel. Kleine Lunch-Stärkung und – dem mittlerweile weltgrößten Schnellbahnnetz sei Dank – rasant mit dem Hochgeschwindigkeitszug in nur sechs Stunden ins Herz Chinas, nach Xian, einstiges Ende der Seidenstraße. Kulinarischer Abendtipp: Jiaozi – die lokale Version der Maultasche. Zwei Übernachtungen.
    (F/M)


    Zum Vergleich:
    (Bei anderen xml Dateien, in dem sich kein Child/Attribut mitten im Text befindet, würde die Vorlage so aussehen und alles wäre gut:also einfach mit {inhalt[1]}
    Aber bei Dateien MIT diesem eingeschobenen Child/Attribut fehlt mir so das "Hochgeschwindigkeitszug" mitten im Text. und mit {inhalt[1]} {auszeichnung} würde der Hochgeschwindigkeitszug hinter dem Text stehen

    [FOREACH({stml_data[1]/srml_journeys[1]/srml_journey[1]/srml_description[1]/reise[1]/verlauf[1]/reisetag})]
    {@order}. Tag: {titel[1]}
    {inhalt[1]}
    ({Verpflegung[1]})[ENDFOREACH]


  • #2
    Kann denn wirklich niemand hier helfen ?

    Kommentar

    Lädt...
    X