Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Snippet Replacement v1.1
Forum Sefrengo.org > Downloads > Archiv > Plugins
bjoern
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
amk
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!!!!
MaZderMind
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
amk
ich dacht immer ISDN heisst "Ich Seh Dich Nie" *hm?* rolleyes.gif wink.gif
MaZderMind
Ach was! Isso! (Ich Schrei SOnst!)

Gruß, Peter
alexander
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.
Michael Brassat
WOW, was n tolles Plugin. DANKE BjöBro !!! tongue.gif
saschapi
´Schließe mich an! smile.gif Will auch gerade was mehrsprachiges machen und da scheint das Goldwert zu sein wink.gif
bkm
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 ?
bjoern
nein
saschapi
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
gunwalt
Auf der Seite "Projekte - Projekt konfigurieren" wird zweimal der Pfad snippet_replacement/inc.replacer.php eingetragen, allerdings mit leerem Beschreibungsfeld davor.
STam
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ß
tobaco
hab bei mir gerade einen kleinen bug gefunden:

Klicken um den Anhang anzusehen


irgendwas wird da neben der sprachselectbox ersetzt.
saschapi
Geht vermutlich in diese Richtung?
feniweb
@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
bkm
@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.
grafzahl
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?
gunwalt
Spontan würde ich sagen hinter den {wysiwyg2:1} ein zweites Modul z.b: textaera:1 setzen, das nicht vom Catwalk abgegriffen wird
grafzahl
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?
Doc.MaStAh
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
mvsxyz
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?
Doc.MaStAh
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
mvsxyz
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%%?
Doc.MaStAh
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
mvsxyz
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.
oberbilker
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
bjoern
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.
oberbilker
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
mvsxyz
Eine aktualisierte und leicht erweiterte Version 1.2 steht zum Download bereit.
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2026 Invision Power Services, Inc.