Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 28. Februar 2011 10:18
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Tipp: Strings der Modulausgabe überschreiben
Ich arbeite nun schon einige Jahre mit CMSms, aber heute bin ich zufällig auf eine Anleitung gestoßen, in der beschrieben wird, wie man die Admin-Ausgabe aller Module (z.B. Sprache oder Templates) überschreiben kann, ohne die Kerndateien zu bearbeiten. Würde man das tun, würden die Änderungen nämlich nach dem nächsten Modulupgrade überschrieben bzw. zürückgesetzt werden.
Beispiel:
Angenommen man verwendet das Modul CGCalendar. Der standardmäßige deutsche Name heißt "Calguys Kalender".
Diese Übersetzung findet man in modules/CGCalendar/lang/ext/de_DE.php:
$lang['cal_calendar'] = 'Calguys Kalender';
Dieser Name ist für Anwender aber alles andere als intuitiv (nach meiner Erfahrung).
Drum ist es gut, diesen zu übersetzen. Manche Module bieten diese Möglichkeit von Hause aus in ihren Einstellungen. Dieses Modul jedoch nicht. Um nun aber den Namen zu überschreiben, tut man folgendes:
Ordner im root von CMSms anlegen: module_custom
Diesen Ordner öffnen.
Ordner mit dem identischen Modulnamen anlegen: CGCalendar
Diesen Ordner öffnen.
Sprachordner anlegen: lang
Diesen Ordner öffnen.
Sprachdatei anlegen: de_DE.php
Diese Datei öffnen
folgenden Code einfügen:
<?php $lang['cal_calendar'] = 'Events'; ?>
Abspeichern, und ab sofort erscheint das Modul im Backend als "Events", oder was auch immer ihr wollt.
Den richtigen Spracheintrag findet ihr immer, wenn ihr direkt ins Modul geht und euch die Sprachdatei anschaut.
Das lässt sich auch für die Template-Ausgabe im Admin anwenden. Nach dem selben Prinzip! Hier wird jedoch die ganze Datei in den module_custom Ordner dupliziert und der entsprechende Code hinzugefügt oder auskommentiert. Ab sofort wird dann diese duplizierte Datei benutzt. Beispiel: http://www.cmsmadesimple.de/forum/viewtopic.php?id=629
Ein weiteres schönes Beispiel bei dem News-Modul: http://www.i-do-this.com/blog/41/Making … nt=Twitter
Beitrag geändert von nicmare (05. April 2011 08:44)
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#2 28. Februar 2011 10:29
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Coole Sache - danke für dein Posting, war mir bislang auch unbekannt.
Habs mal nach Übersetzungen verschoben ...
Offline
#3 28. Februar 2011 10:46
- Connie
- Server-Pate
- Ort: Gribow
- Registriert: 12. Dezember 2010
- Beiträge: 216
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
ist es nicht unglaublich, dass solche Anleitungen auf der privaten und auch recht hässlichen Seite des "Chef-Entwicklers" stehen und nicht in offiziellen Dokus?
Ich hab gerade bei den Modulen, deren Titel ich meinen Kunden und Anwendern nicht vermitteln konnte, die mich fragten wer denn oder was denn dieser Calguy sei in ihrem Blog, immer nach jedem Update die Dateien selbst bearbeitet... und wehe man vergisst das mal...
ich merk mir das, danke für diesen Hinweis!
Offline
#4 28. Februar 2011 11:40
- nockenfell
- Moderator
- Ort: Lenzburg, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.930
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Hatte das auch schon mal gelesen, da ich's nicht gerade brauchte, war mir das nicht mehr präsent. Danke für den Beitrag. Wird gleich Sticky gemacht.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#5 28. Februar 2011 12:06
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
ja, das war für mich nen großer Nachteil an CMSms. Dass man die Modulausgabe nicht überschreiben kann. Erstaunlich, dass es diese Lösung schon seit 2008 gibt. Erschreckend…
Aber meint ihr, dass das bei "Übersetzungen" richtig aufgehoben ist? Ich meine, das mit dem alternativen Modulnamen war jetzt nur ein Beispiel. Man kann die Templates ja auch bearbeiten, so dass überflüssige Felder nicht mehr angezeigt werden. Hier ist auch ein wenig Kreativität gefragt.
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#6 28. Februar 2011 12:08
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.436
Re: Tipp: Strings der Modulausgabe überschreiben
Bastelstube wäre passender denke ich
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#7 28. Februar 2011 12:45
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Hmm, Bastelstube war eigentlich primär für Hacks & Co gedacht, was es ja nun eigentlich gerade nicht ist, sondern nur eine extrem systemkonforme Nutzung und es geht ja um Übersetzungen.
Lass mich aber gern überzeugen ...
Offline
#8 28. Februar 2011 19:27
- nockenfell
- Moderator
- Ort: Lenzburg, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.930
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Eigentlich ist es sowohl als auch gut aufgehoben. Da mir der Übersetzungsteil wichtiger ist, würde ich es eher in diesem Forum lassen.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#9 29. März 2011 11:25
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Ab sofort wird dann diese duplizierte Datei benutzt.
Damit ist die eigene sprachliche Anpassung zwar vor einem Update sicher, aber trotzdem empfiehlt es sich, bei jedem Update die Sprachdateien mit den Originalen zu vergleichen und ggf. anzupassen, da die Erweiterungen der Sprachdateien bei fortlaufender Modulentwicklung eher die Regel sind.
Funktioniert übrigens auch mit den Templates
Offline
#10 29. März 2011 11:27
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Das lässt sich auch für die Templateausgabe im Admin anwenden. Nach dem selben Prinzip! Hier wird jedoch die ganze Datei in den module_custom Ordner dupliziert und der entsprechende Code hinzugefügt oder auskommentiert. Ab sofort wird dann diese duplizierte Datei benutzt.
aber gut einen Link zu dem Thema zu haben
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#11 29. März 2011 11:34
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Upps, muss mich mal bei meinem Optiker beschweren ... irgendwas stimmt mit meiner neuen Brille nicht .
Da das Posting aus bekannten Gründen im Übersetzungsboard gelandet ist, hab ich das Thema aus gegebenem Anlaß und für eine bessere Übersichtlichkeit noch einmal im Modul-Forum repliziert.
Der Oberhammer wäre natürlich, wenn man auch die Actions damit überschreiben könnte ...
Offline
#12 29. März 2011 11:35
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
was für actions?
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#13 29. März 2011 11:46
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
Na eben die Systemdateien der Module wie zum Beispiel action.addarticle.php beim News-Modul (egal, ob fürs Frontend oder fürs Backend) ... damit könnte man sich dann auch das Patchen von Moduldateien ersparen.
Schließlich weisst sich nicht jedes Modul einer Smarty-Variablen zu .
Da CGCalendar sich selbst einer Smartyvariablen zuweist, haben wir auch hier leichtes Spiel und können über die Smartyvariable auf das Modul API zugreifen und ein WYSIWYG Textfeld erstellen. Dazu musst Du nur die oben markierte Stelle des Summaryfeldes durch folgendes ersetzen:
{$CGCalendar->CreateTextArea(true,$actionid, $event.event_summary, 'event_summary', 'content', $actionid)}
Offline
#14 29. März 2011 17:04
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.436
Re: Tipp: Strings der Modulausgabe überschreiben
Schließlich weisst sich nicht jedes Modul einer Smarty-Variablen zu
Dazu kann man aber doch dieses winzig kleine Plugin verwenden: http://dl.dropbox.com/u/2876578/CMSms/P … module.php
Einsatz:
{get_module module="Modulname"}
{$Modulename->ApiFunction()}
(Ich glaube bei CGSimpleSmarty gibt es ähnliche Funktionen, um im Template auf Modulfunktionen zuzugreifen)
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#15 30. März 2011 07:40
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Tipp: Strings der Modulausgabe überschreiben
cyberman schrieb:Schließlich weisst sich nicht jedes Modul einer Smarty-Variablen zu
Dazu kann man aber doch dieses winzig kleine Plugin verwenden: http://dl.dropbox.com/u/2876578/CMSms/P … module.php
Jetzt hast du mich aber auf die Rolle geschoben ... klang für mich hier
Ich wünschte alle Module wären so leicht zu handhaben...
irgend wie anders .
Einsatz:
{get_module module="Modulname"}
{$Modulename->ApiFunction()}
Ich glaub, ich muss mich doch erst mal etwas forciert um den eigenen Download-Bereich kümmern, um solche Sachen anzubieten ...
(Ich glaube bei CGSimpleSmarty gibt es ähnliche Funktionen, um im Template auf Modulfunktionen zuzugreifen)
Hab ich auf die Schnelle nix finden können, nur {module_action_link}
Ein Smarty-Plugin, mit dem ein Link auf eine Modul-Aktion gesetzt werden kann.
Offline
#16 30. März 2011 10:32
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.436
Re: Tipp: Strings der Modulausgabe überschreiben
Hab ich geirrt.
War nur {cgsimple->module_installed()} bzw. {$cgsimple->module_version()}
Das Modul selbst kann man da nicht holen.
Aber im Prinzip kann man auch über jedes Modul, das bereits Smarty zugewiesen wurde, ein weiteres Modul ins Template holen:
{assign var="Module_2" value=$Module_1->GetModuleInstance('Module_2')}
(Hat man nur eine Kopie und keine Referenz)
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#17 16. April 2011 21:18
- Foaly*
- Gast
Re: Tipp: Strings der Modulausgabe überschreiben
Der Oberhammer wäre natürlich, wenn man auch die Actions damit überschreiben könnte ...
So ist es!
Seiten: 1