Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 02. Juni 2011 17:35
- amh
- Gast
[GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Servus zusammen,
noch ein kleines Problem mit dem Kalender :-( Beim News-Modul lasse ich einen Hinweis ausgeben, wenn keine News vorhanden sind. Das mache ich so:
{if (!empty($items))}
{foreach from=$items item=entry}
… hier der ganze Rest.
{else}
<p>Leider sind noch keine Artikel hinterlegt.</p>
{/if} ==]
Beim Kalender-Modul wollte ich nun das gleiche machen, aber hier bekomme ich es nicht hin :-(
[== smarty ==]
{if $events != ''}
{foreach from=$events key=key item=event}
<div class="calendar-event">
blaaahhhhhhh
</div>
{/foreach}
{else}
<p>lähr</p>
{/if}
Weder die Notation aus dem News-Template, noch die andere Schreibweise geben den Hinweis aus :-( *grrrr*
Vielen Dank für Tipps und viele Grüße
Andreas
#2 02. Juni 2011 17:39
- Foaly*
- Gast
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Probiers mal mit
[== Smarty ==]
{if $events|@count > 0}
statt
[== Smarty ==]
{if $events != ''}
#3 02. Juni 2011 17:53
- amh
- Gast
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Leider nein. Es ändert gar nichts an der Ausgabe. :-(
Alle Events werden angezeigt, aber die Testkategorie, wo auch definitiv nichts drin ist bleibt ohne Hinweis.
Viele Grüße Andreas
#4 02. Juni 2011 19:11
- Foaly*
- Gast
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Hab mir grade mal die neueste Version installiert.. Als Listentemplate funktioniert das bei mir bestens.
#5 03. Juni 2011 09:19
- amh
- Gast
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Servus Foaly*,
so rufe ich bei mir den Kalender auf:
[== smarty ==]
<h2>Termine für Infoabende</h2>
{cms_module module="cgcalendar" display="upcominglist" category="Infoabende"}
<h2>Termine für Basisseminar</h2>
{cms_module module="cgcalendar" display="upcominglist" category="Practitioner,Basisseminar"}
<h2>Termine Master</h2>
{cms_module module="cgcalendar" display="upcominglist" category="Master"}
Und hier mein upcominglist-Template:
[== smarty ==]
{strip}
{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 $events|@count > 0}
{foreach from=$events key=key item=event}
<div class="calendar-event">
<h3>{$event.event_title}
{foreach from=$event.fields key='fieldname' item='fieldvalue'}
<span>in {$fieldvalue}</span>
{/foreach}
</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 noTimeDate">
{$event.event_date_start|date_format:"%d.%m.%y"} {$event.event_date_start|date_format:"%H:%M"}Uhr
</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 TimeDate">
{$event.event_date_start|date_format:"%d.%m.%y"} {$event.event_date_start|date_format:"%H:%M"}Uhr – {$event.event_date_end|date_format:"%H:%M"}Uhr
</div>
{else}
<div class="calendar-date-from moreDays">{$event.event_date_start|date_format:"%d.%m.%y"}{*$event.event_date_start|date_format:" %H:%M"*} – {$event.event_date_end|date_format:"%d.%m.%y"} {*$event.event_date_end|date_format:"%H:%M"*}
{if $event.event_details !="" && $event.event_details != "<br />"}
<a class="NewsMorelink" href="{$event.url}">{$mod->Lang('cal_more')}</a>
{/if}
</div>
{/if}
{/if}
</div>
{/foreach}
{else}
<p>Leider kein Termin eingetragen.</p>
{/if}
{if $return_url != ""}
<div class="calendar-returnlink">{$return_url}</div>
{/if}
{/strip}
Wieso geht das bei Dir und bei mir kommt nichts, nada, niente. Also die Termine kommen, aber beim ersten Aufruf (Infoabende) kommt kein Hinweis auf fehlende Termine :-(
Habe ich einen Fehler bei copy&paste gemacht? Gibt es noch Tipps?
Vielen Dank Andreas
#6 03. Juni 2011 09:46
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Upcomminglist Template wird gar nicht ausgegeben wenn keine Einträge vorhanden sind.
Foaly meinte wahrscheinlich List Template.
{capture assign="infoabende"}{cms_module module="cgcalendar" display="upcominglist" category="Infoabende"}{/capture}
{if !empty($infoabende)}
<h2>Termine für Infoabende</h2>
{$infoabende}
{else}
<p>Nix da!!</p>
{/if}
Würde gehen, natürlich wäre das Endresultat ein chaos.
Beitrag geändert von uniqu3 (03. Juni 2011 09:47)
Offline
#7 03. Juni 2011 10:42
- amh
- Gast
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Upcomminglist Template wird gar nicht ausgegeben wenn keine Einträge vorhanden sind.
Foaly meinte wahrscheinlich List Template.
Ahhhhh … Klick! Vielen Dank. Man hätte auch selbst drauf kommen können :-/
Würde gehen, natürlich wäre das Endresultat ein chaos.
Probieren werde ich das heute nachmittag, aber dieser Satz macht mich stutzig. Was wäre natürlich ein Choas? *zitter*
Aber herzlichen Dank!
Beitrag geändert von amh (03. Juni 2011 10:42)
#8 03. Juni 2011 11:12
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Tja ich denke verwaltungstechnisch wäre es sehr unübersichtlich wenn es zum beispiel 10-20 solche einträge geben würde
Theoretisch wenn für Parameter category= immer nur eine Kategorie nehmen würdest könntest ja auch das ganze in ein GCB oder Content block packen, assign für GCB oder content block mit smarty explode, im GCB oder content block Kategorien komma getrennt angeben, dann eine foreach schleife mit der abfrage.
Nur so ein Gedanke.
Offline
#9 03. Juni 2011 12:03
- amh
- Gast
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
@unique: http://www.cmsmadesimple.de/forum/viewtopic.php?id=891 ;-)
Ich muss nochmal mit der Kundin sprechen und entlohne auch gern für das Skript, da ich den zweiten Teil Deiner Antwort leider nicht verstehe :-)
Bin halt »nur« Designer ;-)
#10 03. Juni 2011 12:05
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
Bin selber auch nicht begabter werde meine idee mal ausprobieren und testen, sollte es funktionieren poste ich es mal hier.
Offline
#11 03. Juni 2011 12:56
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] CGCalendar Hinweis ausgeben wenn keine Events vorhanden sind
So habs kurz bei mir probiert und es scheint zu funktionieren, vermutlich hat jemand eine elegantere idee, aber so sieht meine Lösung aus (die Demo http://uniqu3.dyndns-server.com/sandbox … e=calendar)
Schritt eins:
Unter Globale Inhaltsblöcke einen Globalen Inhaltsblock erstellen namens "categories", hier einfach Kategorien eintragen.
General, Test, Test drei, Test zwei
Schritt zwei
Einen zweiten Globalen Inhaltsblock erstellen namens "build_list" mit folgenden Inhalt.
{global_content name="categories" assign="get_cat"}{* erstes gcb aufrufen und assign *}
{assign var='list_cat' value=','|explode:$get_cat}{* gcb wird aufgerufen und inhalt ausgelesen *}
{foreach from=$list_cat item='category'}{* die foreach schleife *}
{capture assign="show_cal"}{cms_module module="cgcalendar" display="upcominglist" category=$category}{/capture}{* na ja modul muss wohl immer aufgerufen werden *}
{if !empty($show_cal)}{* gibt das upcominlgist template ein inhalt zurück zeige es *}
<h1>{$category}</h1>{* Name der kategorie *}
{$show_cal}{* und zeige einträge *}
{else}
<h1>{$category}</h1>
<p>Oje hier gibts wohl nix</p>{* sonst haben wir nix zu zeigen *}
{/if}
{/foreach}
Schritt drei:
Das ganze als Inhalt oder im Template aufrufen.
{global_content name='build_list'}
Ich hoffe es hilft dir weiter. Natürlich funktioniert es nicht sollte category parameter mit mehreren Kategorien aufgerufen werden.
Aber ein Lösung ist besser als keine
Edit:
Ok mit mehreren Kategorien in einem Modul aufruf könntest Du das value=','|explode:$get_cat in value='/'|explode:$get_cat
und kategrien folgend aufrufen General/ Test/ Test drei, Test zwei <--- test drei und test zwei werden in einem Modul Aufruf angezeigt.
Beitrag geändert von uniqu3 (03. Juni 2011 13:06)
Offline
Seiten: 1