Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
- Links zu: Aktiven | Unbeantworteten
- Übersicht
- »
- »
1
#1 17. April 2015 20:39
- olihc
- hat von CMSMS gehört
- Registriert: 24. Februar 2014
- Beiträge: 16
Re:
Hallo liebe CMSMSler,
ich habe ein Problem mit CGCalendar. Ich verwende in meinem Template "Vorlage für bestehende Termine" ein paar eigene Sprachvariablen definiert:
[== php ==]
<div class="cal-upcominglist"> {if isset($pastitems) && $pastitems == 1} <h1>{$lang.past_events}</h1> {else} <h1>{$lang.upcoming_events}</h1> {/if} </div> <div class="calendar-list"> {if isset($navigation)} {if isset($navigation.prev)}<span class="calendar-prev"><a href="{$navigation.prev}">{$lang.prev}</a></span>{/if} {if isset($navigation.next)}<span class="calendar-next"><a href="{$navigation.next}">{$lang.next}</a></span>{/if} {/if} {if isset($start_date_ut) && isset($end_date_ut)} <h3>{$start_date_ut|date_format:'%x'} {$lang.to} {$end_date_ut|date_format:'%x'}</h3> {if isset($navigation.current)}<p><a href="{$navigation.current}">{$lang.current}</a></p>{/if} {else} <h1>{if isset($day) && $day > 0}{$day} {/if}{if isset($month) && $month > 0}{$month_names[$month]}{/if} {$year}</h1> {/if} {foreach from=$events key=key item=event} <div class="calendar-event"> <h3>{$event.event_title}</h3> {assign var=month_number value=$event.event_date_start|date_format:"%m"} {assign var=end_month_number value=$event.event_date_end|date_format:"%m"} {if $event.event_date_start == $event.event_date_end || $event.event_date_end == 0} <div class="calendar-date-from">{$lang.date}: {$event.event_date_start|date_format:"%A, %d. %B %Y"} <div>{$lang.to}: {$event.event_date_start|date_format:"%H:%M"}</div><div>{$lang.location}: {$event.fields.Ort}</div><div>{$lang.public}: {$event.fields.Oeffentlich}</div></div> {else} {if $event.event_date_start|date_format:"%d%m%Y" == $event.event_date_end|date_format:"%d%m%Y"} <div class="calendar-date-from">{$lang.date}: {$event.event_date_start|date_format:"%A, %d. %B %Y"} <div>{$lang.time}: {$event.event_date_start|date_format:"%H:%M"} {$lang.to} {$event.event_date_end|date_format:"%H:%M"}</div> <div>{$lang.location}: {$event.fields.Ort}</div><div>{$lang.public}: {$event.fields.Oeffentlich}</div></div> {else} <div class="calendar-date-from">{$lang.date}: {$event.event_date_start|date_format:"%A, %d. %B"} {$lang.to} {$event.event_date_end|date_format:"%A, %d. %B %Y"} <div>{$lang.time}: jeweils {$event.event_date_start|date_format:"%H:%M"} {$lang.to} {$event.event_date_end|date_format:"%H:%M"}</div> <div>{$lang.location}: {$event.fields.Ort}</div><div>{$lang.public}: {$event.fields.Oeffentlich}</div></div> {/if} {/if} {$details=$event.event_details|strip_tags|trim} {if $event.event_summary != '' && $details != ''}<br /> <div class="calendar-summary"><span class="calendar-summary-title">{$lang.summary}: </span>{$event.event_summary}</div> {/if} {* optionally display detail information {if $details != ''} <div class="calendar-details"><span class="calendar-details-title">{$lang.details}: </span>{$event.event_details}</div> {/if} *} <a href="{$event.url}">{$mod->Lang('cal_more')}</a> </div> {/foreach} </div>Die Sprachvariablen sind {$lang.time}, {$lang.location} und {$lang.public}. Diese habe ich auch entsprechend in der PHP-Datei im Ordner "lang" des Moduls CGCalendar hinterlegt (Zeile 481-483), Datei nachfolgend: de_DE.zip
Jedoch werden die Sprachvariablen, also "Ort", "Uhrzeit" und "Öffentlich für Gäste" nicht auf meiner Seite angezeigt, obwohl die Variablen dem gleichen Muster folgen wie bspw. "Datum" ($lang['cal_date']). Das Datum als vordefiniertes Feld wird angegeben.
Ich kann mir nicht erklären, warum das nicht funktioniert. Könnt Ihr mir hier weiterhelfen?
Danke und viele Grüße,
olihc
Beitrag geändert von olihc (17. April 2015 20:41)
Offline
#2 18. April 2015 04:25
- cyberman
- Moderator

- Ort: Dohna / Sachsen
- Registriert: 13. September 2010
- Beiträge: 6.741
- Webseite
Re:
Das ist relativ einfach zu erklären - die Sprachvariable $lang wird nicht pauschal komplett in Smarty inkludiert, sondern muss noch PHP-seitig für jedes einzelne Element separat an Smarty zugewiesen werden, also in etwa so
[== php ==]
$smarty->assign('label_location', $lang['cal_location'])Erst dann kannst du es im Template via
{$label_location} verwenden.
1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi
Offline
#3 18. April 2015 09:43
- nicmare
- Server-Pate

- Registriert: 15. Dezember 2010
- Beiträge: 1.316
- Webseite
Re:
Leider nur offtopic aber der Titel vom Thread brachte mich zum Schmunzeln. In der heutigen Zeit weiß man ja nie was man alles mit seiner Sprache steuern kann 
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#4 18. April 2015 09:57
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.058
Re:
Änderung des PHP Codes ist hier nicht nötig. CGCalendar (bzw. CGExtensions) übergibt die komplette $lang-Variable an Smarty. Wenn also einige Texte nicht übersetzt werden, dann heißt das Stichwort "module_custom".
Nee, quatsch! Bringt hier wirklich nichts. Cyberman hat Recht. Ich dachte, es wird die $lang-Variable aus der Sprachdatei an Smarty zugewiesen. Es ist aber eine eigene Variable, die im Modul nur mit bestimmten Werten gefüllt wird.
Aber im Calendar-Template ist eine Variable namens {$mod} verfügbar. Das ist das komplette Calendar-Modul. Darüber kannst Du auf die Sprachdatei des Moduls zugreifen:
{$mod->lang('cal_date')}Module: GBFilePicker, AdvancedContent, FEUMailer
Plugins: AjaxTools, XajaxTools
Sicherheit: Beispiel .htaccess-Datei
Offline
1
- Übersicht
- »
- »