Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Plugins _ Snippet Replacement v1.1

Geschrieben von: bjoern Mon. 29. January 2007, 19:13

Pluginname:
---------------------------------------------------------------------------
Snippet Replacement


Status:
---------------------------------------------------------------------------
stable


Bechreibung:
---------------------------------------------------------------------------
Gibt die Möglichkeit, sprachabhängige Ersetzungen in der Sefrengo Seite
durchzuführen. Die Platzhalter für die Ersetzungen können innerhalb von
Sefrengo an beliebiger Stelle plaziert werden (Layout,
Modulkonfiguration,...). Vor dem Erzeugen der Webseite werden diese
Ersetzungen dann sprachabhängig mit dem im Backend zugewiesenen Werten
ersetzt. Richtig eingesetzt, erleichter das Plugin die Erstellung
mehrsprachiger Präsenzen erheblich, da auf sprachspezifische Templates
weitgehend verzichtet werden kann.


Features:
---------------------------------------------------------------------------
- Sprachabhängige Suchen und Ersetzen Routine
- Anbindung an das Rechtemanagement


Plugineigenschaften:
---------------------------------------------------------------------------
[X] Einsatz mehrmals in einem Projekt möglich
[x] Einsatz mehrmals auf einer Seite (idcatside) möglich
[x] Ist Mehrprojektfähig
[x] Ist Mehrsprachenfähig (innerhalb eines Projektes)
[?] Ist XHTML konform


Autor(en):
---------------------------------------------------------------------------
Björn Brockmann

Lizenz:
---------------------------------------------------------------------------
GPL

Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.02.01 (Sefrengo 1.2.1)


Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Administration->
Plugins". Wechseln Sie dort in den Bereich "Plugin importieren". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsplugin"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Plugin in das CMS importiert. Das Plugin muß jetzt noch mit Hilfe
des Importbuttons (befindet sich in der Listenansicht, rechts bei den
Aktionen. Symbol "Papier mit grünem Pfeil") in das Projekt kopiert werden.
Das Plugin ist nun nutzbar.


Dokumentation:
---------------------------------------------------------------------------

Am Besten lässt sich die Funktionsweise des Plugins an einem Beispiel
verdeutlichen:

Grundlage ist eine Sefrengoinstallation mit insgesamt 3 Sprachen (D,
F, GB). Die EingabeImasken des Plugins finden sich unter
dem Menüpunkt "Administration -> SnippetReplacement"
Dort sehen wir jetzt drei Bearbeitungsknöpfe, (für jede Sprache eines.
Wird eine weitere Sprache hinzugefügt, ergänzt sich das Plugin
automatisch um einen weiteren Bearbeitungspunkt). Wir bearbeiten jetzt
zuerst die deutschen Snippets und drücken auf den entsprechenden
Bearbeitungsknopf. Es öffnet sich eine Textarea und geben dort nun
folgendes ein:

SCHLUESSEL1||Hallo Welt
SCHLUESSEL2||ich bin der Text von SCHLUESSEL2

Die Texte in der Textarea sind beliebig erweiterbar. Es gilt: In jeder
Zeile ein Schlüssel und ein Wert, jewils getrennt mit zwei Pipes (||).

Nun wechseln wir in das Layout. Dort fügen wir, irgendwo gut
sichtbar, den Begriff %%SCHLUESSEL2%% ein.

Wechseln wir nun in die Frontendansicht der Webseite. Dort wo im
Layout noch %%SCHLUESSEL2%% stand, steht nun "Hallo Welt"

Nach diesem System lassen sich die Schlüssel fast beliebig im Layout,
Dateimanager, Modulkonfiguration, etc. nutzen.



Einschränkungen:
- Wird auf der Sefrengoseite das Modul "Volltextsuche" verwendet,
werden die SnippetBegriffe innerhalb des Seitencontents nicht
gefunden.

QUELLTEXT
Changelog legend:
# -> Bug Fix
+ -> Addition
^ -> Change
- -> Removed
! -> Note

Current versionnumber is  01.01.00 - released 29.01.2007
------------------------------------------------------------------------------------------------
+ switch design to sefrengo 1.4 layout


Current versionnumber is  01.00.00 - released 16.02.2006
------------------------------------------------------------------------------------------------
! First release


 snippet_replacement_v_1_1.zip ( 8.43KB ) : 271
 

Geschrieben von: amk Mon. 29. January 2007, 20:37

da hab ich gleichmal 'n wunsch wink.gif

es wäre schön wenn man auch platzhalter ohne wert einfügen könnte

also sowas

PLATZHALTER||

... wird ja aktuell automatisch wieder gelöscht.

... was unpraktisch ist bei manchen gelegenheiten ...

___________________________

und dann sollte die textarea vielleicht eine font größe bekomme - war so groß bei mir eben das ich fast vom stuhl gefallen wäre *lol*

___________________________

ansonsten ein unverzichtbares werkzeug für u.a. mehrsprachige sites!!!!

Geschrieben von: MaZderMind Tue. 30. January 2007, 18:55

Hmm wenn das umfassen mit %%s nich wär kännte man damit auch automatisch Abkürzungen ersetzen.. Ersetze ISDN mit <abbr title="Integrated Services Digital Network">ISDN</abbr>, wobei es sich wohl eher eigenen würde dafür ein neues Plugin zu erstellen.

Gruß, Peter

Geschrieben von: amk Tue. 30. January 2007, 19:37

ich dacht immer ISDN heisst "Ich Seh Dich Nie" *hm?* rolleyes.gif wink.gif

Geschrieben von: MaZderMind Tue. 30. January 2007, 19:49

Ach was! Isso! (Ich Schrei SOnst!)

Gruß, Peter

Geschrieben von: alexander Wed. 31. January 2007, 11:30

ZITAT(amk @ Mon. 29. January 2007, 20:37) *
und dann sollte die textarea vielleicht eine font größe bekomme - war so groß bei mir eben das ich fast vom stuhl gefallen wäre *lol*


also die oberfläche ist mehr als bearbeitungsbedürftig. das ganze plugin ist eigentlich aus einem mehrsprachigen projekt entstanden, wo wir schnell ein tool brauchten um massiv an templates zu sparen. dementsprechend ist die nicht wirklich optimal, erfüllt aber ihren zweck.

mit dem tool haben wir statt fast 100 templates nur mehr 27 gebraucht - nur damit sich mal jeder vorstellen kann was in dem kleinen unscheinbaren werkzeug für ein potential steckt.

Geschrieben von: Michael Brassat Tue. 6. February 2007, 21:49

WOW, was n tolles Plugin. DANKE BjöBro !!! tongue.gif

Geschrieben von: saschapi Wed. 7. February 2007, 14:33

´Schließe mich an! smile.gif Will auch gerade was mehrsprachiges machen und da scheint das Goldwert zu sein wink.gif

Geschrieben von: bkm Thu. 22. February 2007, 19:54

Gibt es eine Möglichkeit das der SCHLUESSELXX gleich in seiner "Ersetzung" im Seitenbaum (so z.b. für Order und Seiten)
im Backend von SF angezeigt wird ?

Geschrieben von: bjoern Thu. 22. February 2007, 20:21

nein

Geschrieben von: saschapi Fri. 9. March 2007, 13:52

Kleiner Bug am Rande:
Wenn ich ' benutze wird das entsprechende Snippet nicht gespeichert. 's kommen aber vor allem im Französischen schon gelegentlich mal vor. Ich hab mir jetzt erstmal beholfen indem ich ein anderes Hochkomma genommen hab wink.gif

Geschrieben von: gunwalt Sun. 18. March 2007, 10:40

Auf der Seite "Projekte - Projekt konfigurieren" wird zweimal der Pfad snippet_replacement/inc.replacer.php eingetragen, allerdings mit leerem Beschreibungsfeld davor.

Geschrieben von: STam Thu. 14. June 2007, 11:16

Ich nutze das Plugin auch ganz gerne,
für die ein oder andere Vereinfachung ist es Ideal.

Ein Bug der mich stört, innerhalb von wysiwyg2 funktioniert es nicht!

EDIT:
Nachdem ich Snippet+Replacement+TinyMCE gefunden hatte
konnte ich das nun soweit eingrenzen das es nicht mit Variablen-Namen funktioniert
die mit B anfangen. Wie oder warum keine Ahnung sad.gif
Ich hatte eine Variable %%BACK%% für den 'zurück' Button und die funktionierte nicht!
Dort stand dann immer

ZITAT
%�CK%%
...
Nun heißt sie %%PARENTLINK%% und alles ist gut wink.gif
QUELLTEXT
<a href="cms://idcat=<CMSPHP>echo$con_side[$idcatside]['idcat'];</CMSPHP>" class="button">%%PARENT%%</a>


Gruß

Geschrieben von: tobaco Tue. 10. July 2007, 13:54

hab bei mir gerade einen kleinen bug gefunden:




irgendwas wird da neben der sprachselectbox ersetzt.

Geschrieben von: saschapi Tue. 10. July 2007, 14:02

Geht vermutlich in http://forum.sefrengo.org/index.php?s=&showtopic=809&view=findpost&p=7375 Richtung?

Geschrieben von: feniweb Tue. 10. July 2007, 16:02

@bkm

ZITAT
von Beitrag #9
Gibt es eine Möglichkeit das der SCHLUESSELXX gleich in seiner "Ersetzung" im Seitenbaum (so z.b. für Order und Seiten)
im Backend von SF angezeigt wird ?


Wenn ich dich richtig verstehe möchtest du Seiten oder Ordnernamen mit %%Seite sonstwas%% eingeben.

Habe das mal versuch bei mir klappt das bei Seitennamen im Backend und Frontend.

Namen dürfen so wie ich festgestellt habe keine Leerzeichen enthalten.

Gruss

Geschrieben von: bkm Tue. 10. July 2007, 18:27

@feniweb
Es handelte sich damals um ein Projekt mit 5 (+ x) Sprachen.
Leider (aus meiner Sicht) ist man beim alten CMS geblieben und ich habe mich nicht mehr damit beschäftigt.
Wenn ich mich recht erinnere, ging es mir um das Ersetzen der %%Schlüssel%% in der Ordnerstruktur im Backend,
was nicht ging.

Geschrieben von: grafzahl Mon. 17. December 2007, 15:46

Ich habe da ein Problem. Und zwar verwende ich die Layoutvariablen von Snippet Replacement um meinen Autoren die Einbindung von bestimmten Werbebannern in den Artikeln zu erlauben. Die fließigen leute schreiben also z.B. einfach %%TEASER02%% und wissen dann das der Rest automatisch passiert.

Das ging bisher soweit auch ganz gut. Nun nutzen wir allerdings auch den CategoryWalker um die jeweiligen Artikel auflisten zu können, dabei wird auch {wysiwyg2:1} abgegriffen und per textcut:300 eben beschnitten. Textcut sorgt ja normalerweise auch dafür, das der HTML-Output abgeschnitten wird, allerdings scheint sich der Inhalt des Snippetreplacement erst am Ende über den Inhalt zu legen, was dazu führt das die Werbung die dort eingefügt wird auch auf der Auflistungsseite zu sehen ist, sofern diese in den ersten 300 Zeichen eingefügt wurde, was natürlich unschön aussieht. Hat jemand eine Ahnung wie man das Problem vielleicht umgehen kann?

Geschrieben von: gunwalt Mon. 17. December 2007, 16:31

Spontan würde ich sagen hinter den {wysiwyg2:1} ein zweites Modul z.b: textaera:1 setzen, das nicht vom Catwalk abgegriffen wird

Geschrieben von: grafzahl Mon. 17. December 2007, 17:55

ZITAT(gunwalt @ Mon. 17. December 2007, 16:31) *
Spontan würde ich sagen hinter den {wysiwyg2:1} ein zweites Modul z.b: textaera:1 setzen, das nicht vom Catwalk abgegriffen wird


Mhm, die Situation ist da folgende:

Es gibt für jede Seite (sind schon an die 50) immer 2 Datenfelder. Ein {text:1} und ein {wysiwyg2:1}. Im Textfeld steht nur die Überschrift, und der Fließtext im WYSIWYG.
Mit einer Textarea käme man da wohl nicht weit.

Mein Ansatz war nun, den Cat-Walker direkt daraufhin zu modifizieren, das beim parsen direkt alle Snippet-Variablen entfernt werden, nur leider hänge ich dabei noch daran fest auf welche Variable man da das preg_replace() anwenden könnte und am RegEX haperts auch noch :/

UPDATE:

Ok, das Regex-Problem habe ich durch unsaubere Modifizieren von CategoryWalker ausgelöscht. Nun gibts aber folgendes Problem bei der Sache: Wenn ein Redakteur nun im WYSIWYG2:1 (hier TinyMCE) einen Text eintippt wie %AD125%% und dann auf speichern klickt wird im Frondend genau der richtige Code angezeigt, auch wenn er den Text später bearbeitet steht im WYSIWYG immer noch %%AD125%%. Soweit kein Problem. Trägt er den Code allerdings ein und klickt dann auf "Übernehmen" wird der Code durch den im Plugin hinterlegten Code ersetzt. Das ist natürlich doof weil ich dann später nicht einfach den Anzeigencode ändern kann.

Es scheint also so als wenn beim "Übernehmen" der Code wie im Frontend geparst wird, und bei Speichern nicht. Was kann man da tun?

Geschrieben von: Doc.MaStAh Thu. 28. May 2009, 22:25

Hallo Zusammen,

erstmal vielen Dank für das Plugin! Ist ein echt super Ding!
Leider hab ich ein kleines Problem, und zwar funktioniert das ganze nur in einem Layout, im 2. Funktionierts leider nicht.
Ich weiß nicht welche Informationen ihr braucht, aber vielleicht könnt ihr irgendwie weiterhelfen.

Problemerscheinung:
Ich hab die Variable in 2 Layouts eingebunden. In einem funktioniert's, im anderen wird an der Stelle wo das eingebunden ist, nichts angezeigt.

Ich hoffe ihr könnt mir weiterhelfen =)

Gruß
Peter

Geschrieben von: mvsxyz Fri. 29. May 2009, 08:42

Verwendest du das 2. Layout in einem Template und damit für einen Ordner/Seite? Ist die Variable "nur so" im Layout oder in einem CMSPHP- bzw. PHP-Tag?

Geschrieben von: Doc.MaStAh Fri. 29. May 2009, 13:15

Hallo mvsxyz,

vielen Dank für deine Antwort!

Ja, ich verwende das 2. Layout in einem Template (somit auch auf einer Seite). Ja, die Variable ist "nur so" im Layout wink.gif

Gruß
Peter

Geschrieben von: mvsxyz Fri. 29. May 2009, 13:54

Also ich habe es jetzt bei mir mal getestet und da klappt es auch im 2. Layout.

Hast du die Variable auch in der genutzten Sprache definiert und richtig eingesetzt, also %%VARIABLE%%?

Geschrieben von: Doc.MaStAh Sat. 30. May 2009, 10:41

ZITAT(mvsxyz @ Fri. 29. May 2009, 14:54) *
Also ich habe es jetzt bei mir mal getestet und da klappt es auch im 2. Layout.

Hast du die Variable auch in der genutzten Sprache definiert und richtig eingesetzt, also %%VARIABLE%%?


Ja, die Variable stimmt, und ist im Backend auch richtig definiert.

Gruß
Peter

Geschrieben von: mvsxyz Tue. 2. June 2009, 08:32

Mh, dann weiß ich per Ferndiagnose nicht mehr woran es liegen könnte. Magst du mir die Zugangsdaten per PM schicken, dann werde ich mir das mal anschauen. Vielleicht kann ich dir helfen.

Geschrieben von: oberbilker Tue. 6. September 2011, 12:40

ich möchte nochmal auf den bug mit den hochkommata zurückkommen.
ist es grundsätzlich aus einem grund nicht möglich das plugin zu überarbeiten, dass zukünftig hochkommata gehen?

immerhin ist das snippet replacement der wichtigste baustein für internationalisierung und ein großes plus bei sefrengo. da ist es sehr ungünstig, wenn das französische nicht funktioniert.

gruss, oberbilker

Geschrieben von: bjoern Tue. 6. September 2011, 16:24

Welches Hochkomma? ' oder " oder .... ? Das Snippet Replacement muß ich für die 1.6 noch mal anpassen, läuft da zur Zeit nicht, weil sich zu viele Internas geändert haben. Wenn ich weiß, welches Hochkomma, dann schaue ich mal.

Geschrieben von: oberbilker Wed. 7. September 2011, 10:59

hallo björn,

es handelt sich um das '

ergänzung hierzu, der bug müsste sich ggf. im upgrade auf die version 1.1 eingeschlichen haben.
ich habe bei einem umfangreichen projekt seinerzeit das ' im französischem part ausgiebig genutzt - problemlos. inzwischen mit der version 1.1 sind die alten snippets inkl. ' noch hinterlegt und werden ausgegeben. neue snippets mit ' lassen sich jedoch nicht anlegen.

evtl. hilft das ja bei der bug-suche.

gruss, oberbilker

Geschrieben von: mvsxyz Mon. 3. March 2014, 00:05

Eine aktualisierte und leicht erweiterte http://forum.sefrengo.org/index.php?showtopic=3275.

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)