Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
#1 08. April 2016 17:42
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
[GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Hallo zusammen,
ich kann nirgends im Forum ne Lösung zu meinem Problem finden, und bin nicht so fit in PHP und smarty, aber ich hofe t jemand von euch kennt eine die Lösung?!!
Momentan habe ich u.a. CGBlog und LISE installiert. CGBlog momentan nur für aktuelle Einträge und LISE möchte ich nutzen für eine Liste verschiedener Kurse mit einigen Extrafelder: für Vorschaubild, Titel, Beschreibung etc. und eine Bildergallerie, für jeden Kurse eine eigene Bilder Gallery.
Habe genau dieselbe Absicht, wie, 2Cee hier , nämlich die Anzeige verschiedener Kategorien, mit unterschiedlichen Extrafeldern. Altenativ würde ich für die Kurse den CGBlog daüf nutzen, aber LISE wär mit lieber.
Allerding hab ich ein Problem mit der Gallery:
1- erste Idee
Füge ich den TAG bei LISE in einer Textarea (Beschreibung) ein , (wie man das im CGBlog machen kann)
[== php ==]
{Gallery dir='kurse/zeichnen'}
dann wird im Frontend genau dieser Tag dargestellt mit geschweiften Klammern, aber kein Modul geladen.
(Auf anderen Frontend-Seiten ohne Lise, wird die Gallery angezeigt.) -->
2. zweite Idee
Füge ich in LISE die Gallery mit dem Zusatzfeld "Bilder" = "Gallerydropdown" ein.
Dann zeigt er mit auch hier nur die Adresse der ausgewählten Gallery.
Bilder: kurse/zeichnen/
Wahrscheins muss ich da im Detailtemplate was anpassen, oder? so sieht mein Detaitmlate in LISE momentan aus:
[== php ==]
<!-- item -->
<div class="item">
<h2 class="item-title">{$item->title|cms_escape}</h2>
{if !empty($item->fielddefs)}
<div class="item-properties">
{foreach from=$item->fielddefs item=fielddef}
{*
Categories were moved to field definitions.
If you need Categories, create new Field definition with alias "category"
and Categories will be available again.
*}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{* use LISELoader plugin if you need Category information in default module action templates *}
{LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'}
<!-- categories -->
<div class="item-category">
Category: {$cats|implode:','}
</div>
<!-- categories //-->
{/if}
{if $fielddef.value && $fielddef.type != 'Categories'}
{if $fielddef.type == 'SelectFile' || $fielddef.type == 'FileUpload'}
<!-- Vorschaubild anzeigen-->
<img class="kursbild" src="/uploads/images/Gallery/kurse/vorschaubilder/{$fielddef.value}"><br />
<br />
{elseif $fielddef.type == 'SelectDateTime'}
{$fielddef.name}: {$fielddef.value|cms_date_format}<br />
{else}
{$fielddef.name}: {$fielddef.value}<br />
{/if}
{/if}
{/foreach}
</div>
{/if}
<a href="{$return_url}" class="return-link">zurück</a>
{* or use {$return_link} to create link tag *}
</div>
<!-- item //-->
Kann mir jemand bitte sagen, wie ich die Gallery in der LISE Detail ansicht zum laufen bringen kann??
Vielen Dank für Euer Mühe!
Gruß
Chica
CMSms 2.1.1 “Nicholls Town.
Lise 1.2.1.1
CGBlog 1.13.3
Beitrag geändert von chica2 (09. April 2016 20:20)
Offline
#2 09. April 2016 00:10
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Füge ich den TAG bei LISE in einer Textarea (Beschreibung) ein , (wie man das im CGBlog machen kann)
[== php ==] {Gallery dir='kurse/zeichnen'}
dann wird im Frontend genau dieser Tag dargestellt mit geschweiften Klammern, aber kein Modul geladen.
(Auf anderen Frontend-Seiten ohne Lise, wird die Gallery angezeigt.) -->
Daran kannst du erkennen, dass das Feld mit dem Tag-Aufruf NICHT durch Smarty verarbeitet wurde - da musst du das Template so anpassen
{else}
{$fielddef.name}: {eval var=$fielddef.value}<br />
siehe
http://www.smarty.net/docs/en/language. … n.eval.tpl
2. zweite Idee
Füge ich in LISE die Gallery mit dem Zusatzfeld "Bilder" = "Gallerydropdown" ein.
Dann zeigt er mit auch hier nur die Adresse der ausgewählten Gallery.
Bilder: kurse/zeichnen/
Sollte auch funktionieren - mit
{elseif $fielddef.type == 'GalleryDropDown'}
{$fielddef.name}: {Gallery dir=$fielddef.value}<br />
Würde diese Variante bevorzugen, da der Kunde da nicht mit dem Gallery-Code rumhantieren (und Fehler machen ) muss.
Bitte schau mal, ob der Feldtyp tatsächlich 'GalleryDropDown' heisst ... hab gerade nix zum Gucken.
Offline
#3 09. April 2016 17:13
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Hallo cyberman,
vielen dank für Dein Antwort!
1. diese Variante mit eval funktioniert! zumindest werden die Vorschaubilder als thumbnail angezeigt. Klickt man drauf, öffnet sich allerdings nur das jpg und nicht die Fancybox/ Lightbox oder ähnliches....
2. würde aber auch lieber diese Variante im Template verwenden, das ist für die Kunden einfacher, stimme Dir voll zu :-)
Ja, der Feldtyp heisst so: In der Modulhilfe von LISE stehts unter "Default Field Definitions by type:" GalleryDropdown - Gallery Dropdown (2) (new)" . Wie gesagt, leider führt das nur zur Anzeige von dem Text: "Bilder: kurse/zeichnen/" , ohne dass die Gallery geladen wird. Habs auch schon mit Groß-und Kleinschreibung im Detailtemplate probiert, ändert leider nix .
das hab ich eben erst gesehen: bei Edit Field definition wird fürs Template folgendes angezeigt:
{LISELoader item='item' force_array=1 value=$fielddef.value assign='items'} {$fielddef.name}: {$items|implode:','}
Das kapier ich leider nicht so ganz, habs aber mal so in meinem template eingebunden,
...
{elseif $fielddef.type == 'GalleryDropdown' && ($fielddef.value != '')}
{LISELoader item='GalleryDropdown' force_array=1 value=$fielddef.value assign='items'}
{$fielddef.name}: {$items|implode:','}<br />
...
ergibt einen smarty Fehler: Ooops! Error: at line 97 in file /is/htdocs/wp1058zzzzzzz/www/xxx/cms/modules/LISE/lib/class.LISELoader.php:
{LISELoader}: Unknown item type
hab doch darüber den LISELoader schon mal benutzt? darf man das nicht zweimal in einem template?
Hast noch eine Idee?? es muss doch möglich sein, die Gallery einzubinden????
Beitrag geändert von chica2 (09. April 2016 18:08)
Offline
#4 09. April 2016 18:02
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
oje, noch kann ich abbrechen, und das ganze mit der version 1.12 probieren.
Es war ein versuch , aber diese Version 2 zusammen mit LISE macht mich wahnsinnig...
Mit der Version 1.12. und Listit2 und Gallery, da müsste es doch gehen , oder???
help!
Offline
#5 09. April 2016 18:53
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Nachdem LISE ja eigentlich ein Nachfolger von LI2 ist, sollte das mit der Gallery auch funktionieren - und cybermans zweiter Vorschlag (dritter Code sozusagen) sollte einwandfrei funktionieren. Hier noch ein alter Beitrag zu LI2 https://www.cmsmadesimple.de/forum/view … hp?id=2392 -> siehe Beitrag 5
Aber da ich eine 2er laufen habe, mach ich mich mal an den Selbstversuch und berichte dir dann
Offline
#6 09. April 2016 19:31
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Danke ! ja, hab es genauso eingebunden und jetzt nochmal getestet:
[== php ==]
<!-- item --> <div class="item"> <h2 class="item-title">{$item->title|cms_escape}</h2> {if !empty($item->fielddefs)} <div class="item-properties"> {foreach from=$item->fielddefs item=fielddef} {* Categories were moved to field definitions. If you need Categories, create new Field definition with alias "category" and Categories will be available again. *} {if $fielddef.type == 'Categories' && ($fielddef.value != '')} {* use LISELoader plugin if you need Category information in default module action templates *} {LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'} <!-- categories --> <div class="item-category"> Category: {$cats|implode:','} </div> <!-- categories //--> {/if} {if $fielddef.value && $fielddef.type != 'Categories'} {if $fielddef.type == 'SelectFile' || $fielddef.type == 'FileUpload'} <!-- Vorschaubild anzeigen--> <img class="kursbild" src="/uploads/images/Gallery/kurse/vorschaubilder/{$fielddef.value}"><br /> <br /> {elseif $fielddef.type == 'SelectDateTime'} <strong>{$fielddef.name}:</strong> {$fielddef.value|cms_date_format}<br /> <!--Gallery --> {elseif $fielddef.type == 'GalleryDropdown'} {$fielddef.name}: {Gallery dir=$fielddef.value}- das hier <br /> <!--Gallery // --> {else} <strong> {$fielddef.name}: </strong>{eval var=$fielddef.value}<br /> {/if} {/if} {/foreach} </div> {/if} <a href="{$return_url}" class="return-link">zurück</a> {* or use {$return_link} to create link tag *} </div> <!-- item //-->
JAAAA, und die thumbs der Gallerie werden jetzt angezeigt!!
Bei klick darauf, gibts aber keine lightbox / Fancybox, nur das jpg
Kann man das auch noch aktivieren???
Offline
#7 09. April 2016 19:55
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
So lange getestet - insbesondere, wenn man wie ein Idiot vor dem PC sitzt und nichts funktioniert, nur weil ich DropDown anstatt Dropdown eingefügt hab.
Ende gut, alles gut - das ganze funkioniert jetzt einwandfrei. Egal, welche Vorlage ich habe - geht pipifein mit jeder getesteten (cycle, AE-Gallery, Fancybox) Vorlage. Und noch mit meiner abgewandelten cycle
die Vorlagen musst du direkt über Gallery steuern.
1) Standardvorlage, wenn gewünscht
2) einfach die für die einzelne Galerie (wenn nicht Standardvorlage) bei der Galerie selbst im Feld Vorlage auswählen.
Obwohl, wenn du dich ein wenig spielen willst, dann kannst du (wenn du es sonst nicht brauchst) mit einem Dropdown spielen und für jede Galerie die entsprechende Vorlage aussuchen lassen.
EDIT: Aber du hast beim Modul Gallery schon die ganzen Vorlagen auch drinnen - oder fehlen die dir noch?
Beitrag geändert von owr_web (09. April 2016 19:57)
Offline
#8 09. April 2016 20:19
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Danke fürs Testen! Es ging mir genauso, Großund kleinschreibung war mein Fehler.. Aber mit dem code von cyberman wird mir die Gallery gezeigt! Danke nomal.
Läuft jetzt. Naja, Fast. Die Gallerythumbs werden gezeigt. Beim klick darauf kommt allerdings nur das jpg?
(Fancybox) Ja, ich hab die Vorlagen in der Gallery und auch eine ausgewählt. Dort z.B. auch unter Vorlagen / Fancybox , das Vorschaubild größer eingestellt. Das wird aber von der Gallery nicht übernommen, ist nach dem Speichern wieder weg, also leer.
Die slim box geht aber!! dann nehm ich halt die und probiere mal , die für mich anzupassen....
Danke für eure Mühe!!
Offline
#9 10. April 2016 22:35
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Mit anderen Worten - gelöst?
Offline
#10 10. April 2016 07:41
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Die Gallerythumbs werden gezeigt. Beim klick darauf kommt allerdings nur das jpg?
(Fancybox) Ja, ich hab die Vorlagen in der Gallery und auch eine ausgewählt. Dort z.B. auch unter Vorlagen / Fancybox , das Vorschaubild größer eingestellt. Das wird aber von der Gallery nicht übernommen, ist nach dem Speichern wieder weg, also leer.
Das ist kein Problem von LISE, sondern von Gallery. Sieht nach einem Problem mit den Schreibrechten auf deinem Server aus.
Wenn du das css-Feld bearbeitet hast und es wird nicht gespeichert, dann kannst du die css auch hier direkt bearbeiten versuchen und sehen ob die Änderungen übernommen wurden: /modules/Gallery/templates/css
@cyberman: Was LISE betrifft sollte es gelöst sein.
Offline
#11 10. April 2016 08:59
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Ach ja, Chica2 - welche Gallery-Version hast du im Einsatz? - Wenns nicht die aktuellste ist, solltest du unbedingt updaten.
Und Finger weg von der Modulverwaltung - die ist einfach nur Mist.
Zwar schön um zu sehen was du installiert hast und vielleicht noch ob es updates gibt.
Aber ich habe mal testweise versucht Gallery und tinyMCE upzudaten - beide Module funktionierten erst wieder als ich die Dateien per Hand hochgeladen hab.
Offline
#12 10. April 2016 13:25
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Sieht nach einem Problem mit den Schreibrechten auf deinem Server aus.
Wenn du das css-Feld bearbeitet hast und es wird nicht gespeichert, dann kannst du die css auch hier direkt bearbeiten versuchen und sehen ob die Änderungen übernommen wurden: /modules/Gallery/templates/css
Hmm, wenn es wirklich dieses Problem betrifft, sollte nach meinem Empfinden auch ein entsprechender Hinweis bzw. aussagekräftige Fehlermeldung ausgegeben werden. Klingt für mich nach einem Bug Report oder Feature Request . Jos (der Programm-Autor) ist da eigentlich ziemlich offen...
Offline
#13 10. April 2016 13:29
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Und Finger weg von der Modulverwaltung - die ist einfach nur Mist.
Bin ja eigentlich ein großer Fan der Modularisierung, aber auch da gibt es Grenzen. Und die Modulverwaltung ist eine solche Grenze. Dies gehört für mich ganz klar in den Core!
Zwar schön um zu sehen was du installiert hast und vielleicht noch ob es updates gibt.
Danke für den Hinweis, nehm ich als Idee für meine 1er Version mit ...
Offline
#14 15. April 2016 16:20
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Hi alle, Danke für Eure Hilfe.
@owr_web: ich habe derzeit die Gallery Version 2.1.1 . Eine neue Version ist verfügbar. also gut, dann hol ich mir die jetzt. Ok, ja per FTP! Weiss schon , die Modulverwaltrung ist nur zür Übersicht gut.
Ja, das css wird in der Vorlage (Slimbox) übernommen. Aber der Eintrag in der Gallery-Vorlage: "Größe des Vorschaubildes (auf Benutzerseite):" , der bleibt nach Eingabe und Speichern , immer leer! Habe in der entsprechende Gallery auch auf Vorschaubilder aktualisieren geklickt. Aber die Vorschaubilder bleiben winzig, ca 50 px. Die sollen aber 400px in der Breite haben.
Edit: PS. bei der Gallery Vorlage "Fancybox" bleibts dabei, dass bei Klick nur das jpg angezeigt wird. Deshalb zur slimbox gewechselt, die funktioniert.
Jetzt wird zwar die Gallery im Frontend angezeigt, d.h. die slimbox funktioniert (ausser den kleinen Vorschaubildern, ). Und ich habe das LISE Detail template geändert, weil ich die items einzeln anprechen will mit $item->fielddefs.name.value.
Aber da muss aber etwas nicht nicht stimmen?? denn im Frontend werden vieleder Extrafelder / Items mehrfach angezeigt! :-)
Die Gallery nur einmal, das Vorschaubild nur einmal, aber der Rest, c.a 10 (!!) mal. untereinander... Was mach ich da falsch? Bestimmt fällts euch gleich auf? Hope so :-)
detail template code:
[== smarty ==]
<!-- item Detail template -->
<div class="item">
<h2 class="item-title"></h2>
{if !empty($item->fielddefs)}
<div class="item-properties">
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{* use LISELoader plugin if you need Category information in default module action templates *}
{LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'}
<!-- categories -->
<div class="item-category">
<h2> {$cats|implode:','} </h2>
</div>
<!-- categories //-->
{/if}
<!-- Title -->
{$item->title|cms_escape}
<!-- Vorschaubild anzeigen-->
{if $fielddef.value && $fielddef.type != 'Categories'}
{if $fielddef.type == 'SelectFile' || $fielddef.type == 'FileUpload'}
<img class="kursbild" src="/uploads/images/Gallery/kurse/vorschaubilder/{$fielddef.value}"><br />
<br />
<!--Gallery -->
{elseif $fielddef.type == 'GalleryDropdown'}
{*$fielddef.name*}{Gallery dir=$fielddef.value} <br />
<!--Gallery // -->
{elseif $fielddef.type == 'SelectDateTime'} <strong>{$fielddef.name}:</strong> {$fielddef.value|cms_date_format}<br /> {/if}
<strong>Kursbeginn:</strong> {$item->fielddefs.name.value}<br />
{$item->fielddefs.beschreibung.value}<br />
Zeit: {$item->fielddefs.zeit.value}<br />
Kursgebühr: {$item->fielddefs.Kursgebuehr.value} <br />
Dozent:<a href="index.php?page=dozenten"> {$item->fielddefs.dozent.value}</a><br />
<!-- Anmeldung erhält den Titel für Formbuilder -->
<div class="Anmeldung"> <a href ="{cms_selflink href='anmeldung'}&item={$item->title}">Anmeldung</a> <br />
</div>
{/if}
{/foreach}
{/if}
</div><!-- item-properties // -->
<a href="{$return_url}" class="return-link">zurück</a>
{* or use {$return_link} to create link tag *}
</div>
<!-- item //-->
Beitrag geändert von chica2 (15. April 2016 16:29)
Offline
#15 15. April 2016 18:51
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
ok - bis nach selectDatetime passts, aber dann hast du einen vollen Bock drinnen.
Du hast das if beendet anstatt den Rest in ein else reinzugeben - und ich frag mich grad warum du eigentlich mit soviel Text arbeitest.
[== smarty ==]
{else}
{$fielddef.name}: {$fielddef.value}<br />
{/if}
Also ganz einfach der Name des jeweiligen Feldes und dann der Inhalt. Also der ganze "Schmarrn" mit Zeit, Kursgebühr usw. ist nichts anderes als "Müll" im Code. Habs in Anführungsstrichen - nicht böse gemeint )
Kurz drüber geschaut:
-> Nach der Kategorie hast du nochmal den Titel drinnen - ist das notwendig?
-> Nach dem selectDateTime gehört das /if weg und ein else rein.
-> Das ganze zwischen dem korrigierten else und dem /if danach (das ja anscheinend jetzt zuviel drinnen ist - drumm passts wahrscheinlich hint und vorne nicht bei der Ausgabe kannst du kürzen nach obigem Vorschlag. Einzig das mit der Anmeldung da musst du noch was anpassen, denn da hast du ein anderes div (also das vors else setzen und ein elseif davor.
Hoffe ich hab auf die schnelle nichts übersehen - falls du es nicht schaffst und nicht gleich brauchst, am WE sollte irgendwann noch ein viertelstündchen Zeit sein für einen Vorschlag.
Beitrag geändert von owr_web (15. April 2016 18:51)
Offline
#16 15. April 2016 19:47
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Danke Dir. Ja, diese <ifs und <elseifs ...ich habs einfach nicht mehr geblickt.
- der doppelte Titel wird gelöscht.
Naja, den "Schmarrn" :-) mit den Texten hab ich halt so eingegeben, damit ich einzelne Felder ansprechen und mit css positionieren und stylenkann. Da sollten später, wenn die Anzeige klappt, halt auch noch divs drumrum oder so.
Hast Du da ne bessere Idee??
Werde es mal ändern und melde mich dann wieder.
Offline
#17 15. April 2016 20:06
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Wenn du nur den Namen des Feldes benötigst und den Inhalt
Beispiel:
Feld-Name -> Referent
Feld-Inhalt -> Franz Xaverhuber
und die css im Endeffekt gleich sind, dann brauchst du für die "normalen" (also nicht Gallery, Categories, Select...." das ganze ja nur einmal => else
Wenn aber jedes Feld anders aussehen soll, dann brauchst du für jedes ein elseif. Und da kannst du immer nach dem Feld-Namen fragen. Wenn ... dann
also zuerst die ganzen "Sonderfelder" (wie gallerydropdown), dann die normalen, die jeweils anders aussehen müssen, dann im else den Rest.
ja sieht verdammt kompliziert aus - ist es auch. Aber nur zum Schein. Du musst einfach vorher wissen WAS muss drinnen stehen und WIE muss es aussehen. Sonst verhedderst du dich in Einzelheiten und das ganze wird fast unüberschaubar.
Und noch als Tipp: Sortier die Felder unbedingt so, wie sie auch nacheinander auf der Seite stehen sollen
Offline
#18 16. April 2016 09:47
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Ja, diese <ifs und <elseifs ...ich habs einfach nicht mehr geblickt.
Ich persönlich helf mir da mit strengem Stukturieren weiter - also jede (ich nenn es mal) "Verarbeitungsebene" eine weitere Einrückung (egal dabei, ob Smarty oder HTML), also
<div id="ebene1">
<h2>Überschrift</h2>
{if ...}
<div id="ebene2">
<h3>Noch eine Überschrift</h3>
<p>... Inhalt ... {$variable}</p>
</div>
{/if}
</div>
War mir nur anhand deines geposteten Codes aufgefallen, dass (zumindest hier in der Anzeige) die Einrückungen bißle durcheinander sind. Könnte aber auch daran liegen, dass da nur Tabs und Leerzeichen gemischt sind. Ist auch der Grund, weshalb ich mir in meinem Editor sämtliche Steuerzeichen mit anzeigen lasse .
Offline
#19 20. April 2016 15:13
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Danke , also die Gallery geht jetzt.
Die Detailansicht geht aber immer noch nicht so richtig, denn sobald ich einige Felder extra einbinden will, mach ich offenbar was falsch?! und die Felder kommen im Loop, also ca 10 mal hintereinander.
Das Problem ist das Feld dozenten , das braucht einen link,
und dann ncoh ein <div> mit dem Link zur Anmeldung.
Lass ich ich dozenten weg ist alles schön...
Wie mach ich das richtig? Könnt ihr bitte nomal schauen? Danke!
Lise detail template :
[== smarty ==]
<!-- item Detail template -->
<div class="item">
<div class="Kurstitel"><h3 class="item-title">{$item->title|cms_escape}</h3>
</div><!-- Titel -->
{if !empty($item->fielddefs)}
<div class="item-properties">
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{* use LISELoader plugin if you need Category information in default module action templates *}
{LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'}
<!-- categories -->
<div class="item-category"> <h2> Thema: {$cats|implode:','} </h2>
</div>
<!-- categories //-->
{/if}
{if $fielddef.value && $fielddef.type != 'Categories'}
<!-- Vorschaubild anzeigen-->
{if $fielddef.type == 'SelectFile' || $fielddef.type == 'FileUpload'}
<img class="kursbild" src="/uploads/images/Gallery/kurse/vorschaubilder/{$fielddef.value}"><br />
<br />
{elseif $fielddef.type == 'SelectDateTime'}
<strong>{$fielddef.name}: </strong>{$fielddef.value|cms_date_format}<br />
<!--Gallery -->
{elseif $fielddef.type == 'GalleryDropdown'}
{*$fielddef.name*}{Gallery dir=$fielddef.value} <br />
<!--Gallery // -->
<!-- ab hier gibts probleme, sobald ich das hier einsetze --->
{elseif $item->fielddefs.dozent != ''}
<h3> Dozent:<a href="index.php?page=dozenten"> {$item->fielddefs.dozent.value} </a><br /> </h3>
<div class="Anmeldung">
<a href ="{cms_selflink href='anmeldung'}&item={$item->title}">Anmeldung</a>
</div> <!-- Anmeldung erhält den Titel für Formbuilder -->
<!--bis hier-->
{else}
<strong>{$fielddef.name}:</strong> {$fielddef.value}<br />
{/if}
{/if}
{/foreach}
</div><!-- item-properties // -->
{/if}
<a href="{$return_url}" class="return-link">zurück</a>
{* or use {$return_link} to create link tag *}
</div>
<!-- item //-->
@ cyberman, Danke! habs jetzt mal bißchen besser geordnet.
Offline
#20 20. April 2016 18:01
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
bitte darf ich euch nochmal nerven?
Ich habe den Aufruf für das Feld Dozenten und die Anmeldung extra, bzw. oberhalb von foreach gesetzt, das geht jetzt! und wird nicht mehr 10 x angezeigt..! Endlich!
Jedoch sollten in dem block nach else , da wo alles aufgerufen wird, die Felder "dozenten" und "kurstitel" nicht noch einmal auftauchen! ist zwar nur noch ein Schönheitsfehler, aber es soll
Wie kann ich die einzelne Felder von der Darstellung ausschließen?
Oder muss ich sie dann doch einzeln aufrufen? Wie geht das richtig?? (meine elseif Versuche scheiterten kläglich mit dem 10 mal untereinander...) und bestimmte Felder , zB. dozenten dann auf visbility:hidden setzten?
[== smarty ==]
<!-- item Detail template -->
<div class="item">
{if !empty($item->fielddefs)}
<div class="item-properties">
<div class="Anmeldung"><a href ="{cms_selflink href='anmeldung'}&item={$item->title}">Anmeldung</a>
</div> <!-- Anmeldung erhält den Titel für Formbuilder -->
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{* use LISELoader plugin if you need Category information in default module action templates *}
{LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'}
<!-- categories -->
<div class="item-category"> <h2> {$cats|implode:','} </h2>
</div>
<div class="Kurstitel"><h3 class="item-title">{$item->title|cms_escape} |
<a href="index.php?page=dozenten"> {$item->fielddefs.dozent.value|cms_escape} </a><br /> </h3>
</div><!-- Titel -->
<!-- categories //-->
{/if}
{if $fielddef.value && $fielddef.type != 'Categories'}
<!-- Vorschaubild anzeigen-->
{if $fielddef.type == 'SelectFile' || $fielddef.type == 'FileUpload'}
<img class="kursbild" src="/uploads/images/Gallery/kurse/vorschaubilder/{$fielddef.value}"><br />
<br />
{elseif $fielddef.type == 'SelectDateTime'}
<strong>{$fielddef.name}: </strong>{$fielddef.value|cms_date_format}<br />
<!--Gallery -->
{elseif $fielddef.type == 'GalleryDropdown'}
<div class="kursgallery"> <br
{*$fielddef.name*}{Gallery dir=$fielddef.value} <br />
</div>
<!--Gallery // -->
{else}
<strong>{$fielddef.name}:</strong> {$fielddef.value}<br />
{/if}
{/if}
{/foreach}
</div><!-- item-properties // -->
{/if}
</div> <p> <a href="{$return_url}" class="return-link">zurück</a></p>
{* or use {$return_link} to create link tag *}
<!-- item //-->
Offline
#21 21. April 2016 06:13
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Es ist klar, dass deine Versuche scheitern, sobald sie nicht in einer elseif oder zum Schluss else-Anweisung drinnen sind.
Grundsätzlich: Alle die "anders" ausschauen sollen brauchen eine elseif - der Rest dann einmal eine else-Anweisung.
Du hast im ersten der beiden Beispiele nur einen kleinen, aber möglicherweise ganz gravierenden Fehler. Im untenstehenden Text bei dozent auf die richtige Schreibe achten genau so wie der Name deines Feldtypes ist.
Und das könntest du dann aber auch mit jedem einzelnen Feld machen. Damit kannst du jedem einzelnen Feld das Aussehen extra mitgeben.
Und sortiere die Felder im LISE genau in der Reihenfolge in der du sie ausgeben willst. Aber das dürfte ja eh schon so sein.
[== smarty ==]
{elseif $fielddef.name='dozent' && ($fielddef.value != '')}
Offline
#22 21. April 2016 09:44
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.436
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Entweder Du gehst alle Felder in einer {foreach}-Schleife durch und fragst bei jedem Feld nach dem Typ, Name/Alias oder Wert und zeigst das dann entsprechend an - oder Du sprichst jedes Feld ohne {foreach}-Schleife direkt an.
In Beitrag #19 hast Du die foreach-Schleife:
{foreach from=$item->fielddefs item=fielddef}
D.h. innerhalb der foreach-Schleife kannst Du über die für "item" angegebene Variable "fielddef" auf das Feld zugreifen.
Das Feld für z.B. das Datum (SelectDateTime) fragst Du dort so ab:
{elseif $fielddef.type == 'SelectDateTime'}
Du greifst also auf die einzelnen Elemente der {foreach}-Schleife zu.
Aber das Feld "Dozent" wird dir mehrmals angezeigt. Wo liegt also der Unterschied bei der Anzeige des Feldes für Dozenten und den anderen Feldern? Schau genau hin.
Bei Dozenten fragst Du nämlich so ab:
{elseif $item->fielddefs.dozent != ''}
Du greifst also innerhalb der {foreach}-Schleife nicht mehr auf das aktuelle Element der Schleife sondern direkt auf das Feld zu. Und das machst Du für jedes Element, welches Du vorher nicht über eine der {if}-Bedingungen herausgefiltert hast. D.h. für jedes andere Element soll der Dozent angezeigt werden. Hast Du 10 weitere Elemente, wird der Dozent also 10 mal angezeigt.
Logisch, oder?
(Mal abgesehen davon dass, diese Bedingung immer erfüllt sein würde, weil {$item->fielddefs.dozent} - sofern vorhanden - immer etwas enthält. Richtig wäre {elseif $item->fielddefs.dozent.value != ''}.)
Richtig müsste es also an dieser Stelle lauten:
{elseif $fielddef.alias== 'dozent'}
{foreach}-Schleifen eignen sich dafür, wenn man nicht genau weiß, welche Felder es gibt bzw. wenn später mal noch welche dazu kommen sollen, ohne dass man ständig das Template dazu anpassen muss, oder wenn es keine Möglichkeit gibt, die Felder direkt anzusprechen.
Wenn Du aber genau weißt, welche Felder der Eintrag enthält bzw. Du generell nur bestimmte Felder anzeigen willst und die Möglichkeit hast, diese Felder direkt anzusprechen, dann ginge das so wie Du im Beitrag #20 schon selbst herausgefunden hast:
{$item->fielddefs.Alias_des_Feldes.value}
z.B.
{$item->fielddefs.dozenten.value}
Ohne {foreach}-Schleife.
Allerdings mischst Du hier die beiden Möglichkeiten. Ich würde mich für eine Variante entscheiden.
Den Dozenten zeigst Du z.B. innerhalb der {foreach}-Schleife an einer Stelle an, an der er laut {foreach}-Schleife noch gar nicht dran ist:
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
...
<a href="index.php?page=dozenten"> {$item->fielddefs.dozent.value|cms_escape} </a><br /> </h3>
...
Und am Ende der Schleife hast Du folgendes stehen:
{else}
<strong>{$fielddef.name}:</strong> {$fielddef.value}<br />
{/if}
{/if}
{/foreach}
Du filterst also in der Schleife nur Category, SelectFile, FileUpload, SelectDateTime, und GalleryDropdown raus. Alles andere soll einfach nur mit Name und Wert angezeigt werden. D.h. also auch die Dozenten werden dort (nocheinmal) angezeigt, weil die Dozenten ja auch in dieser Schleife drin sind.
Du müsstest also folgendes Schreiben:
{elseif $fielddef.alias != 'dozenten'}
<strong>{$fielddef.name}:</strong> {$fielddef.value}<br />
{/if}
{/if}
{/foreach}
Und somit die Dozenten nochmal herausfiltern, damit hier wirklich nur noch die Felder angezeigt werden, die Du nicht schon woanders herausgefiltert/angezeigt hast.
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
#23 21. April 2016 17:06
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Hier ein Beispiel wie ich eine (einfache) Liste mit ListIt2 aufgebaut habe, bei der ich einfach jedes Feld extra abgefragt habe.
Da kannst du dann alle Varianten machen für jedes Feld extra - und ist zwar am Anfang ein wenig mehr Arbeit, aber erspart hinterher viel Ärger beim Fehlersuchen
Ich habe zwar nicht viel Firlefanz drinnen, aber wie du an Straße und Ort siehst, da kannst du auch einfach zwei Dinge in einer Zeile usw. usf. Oder du gibst Text ein, oder Überschriften oder .....
Und wie gesagt, das einzige was du da dann aufpassen musst ist die Reihenfolge in welcher du die Felder sortierst.
[== LI2-Template ==]
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.name == "AbteilungTitel" && $fielddef.value != ""}<strong>{$fielddef.value}: </strong>{/if}
{if $fielddef.name == "AbteilungInhalt" && $fielddef.value != ""}{$fielddef.value}<br />{/if}
{if $fielddef.name == "ZeitenTitel" && $fielddef.value != ""}<strong>{$fielddef.value}: </strong>{/if}
{if $fielddef.name == "ZeitenInhalt" && $fielddef.value != ""}{$fielddef.value}<br />{/if}
{if $fielddef.name == "Telefon" && $fielddef.value != ""}<strong>Telefon: </strong>{$fielddef.value}<br />{/if}
{if $fielddef.name == "Telefax" && $fielddef.value != ""}<strong>Telefax: </strong>{$fielddef.value}<br />{/if}
{if $fielddef.name == "Mobiltelefon" && $fielddef.value != ""}<strong>Mobil: </strong>{$fielddef.value}<br />{/if}{if $fielddef.name == "EMail" && $fielddef.value != ""}<strong>E-Mail: </strong><a href="mailto:{$fielddef.value}">{$fielddef.value}</a><br /> {/if}
{if $fielddef.name == "Internet" && $fielddef.value != ""}<strong>Internet: </strong><a href="{$fielddef.value}" target="_blank">{$fielddef.value|truncate:50:"..."}</a><br /> {/if}
{if $fielddef.name == "Strasse" && $fielddef.value != ""}<strong>Anschrift: </strong>{$fielddef.value}, {/if}
{if $fielddef.name == "Ort" && $fielddef.value != ""}{$fielddef.value}{/if}
{/foreach}
</p>
{/if}
Offline
#24 21. April 2016 18:44
- chica2
- probiert CMS/ms aus
- Ort: Kurpfalz
- Registriert: 01. Februar 2011
- Beiträge: 93
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Wow! Ihr seid meine Helden!!!!!!!!!!!!!
ja , genau! Ich hab die Felder verkehrt aufgerufen. Soweit war ich dann auch schon, aber ich wusste den korrekten Aufruf nicht und hab dann aus Verzweiflung nach dem else einfach leer gelassen. War aber keine gute Lösung, jetzt verstehe ich auch warum. Aber mit dieser Erläuterung wird mir so manches klarer!!! Wieder was gelernt
Und dann auch noch die eine separate Auflistung, für jedes Feld extra, ist genau das, womit ich jetzt arbieten kann.
Mensch VIELEN DANK für Eure MÜHE!
Werde alles mal so umschreiben und melde mich dann wieder, obs geklappt hat.
Offline
#25 07. März 2021 15:24
- Dancer62
- Server-Pate
- Ort: 26345 Bockhorn, Niedersachsen
- Registriert: 08. November 2013
- Beiträge: 414
Re: [GELÖST] LISE : Gallery anzeigen (CMSms 2.1.1)
Hallo liebes Forum,
nach langer, langer Zeit melde ich mich mal wieder aus dem Off. Ich hatte die Feuerwehr-Homepage gecrasht, dann alles eine Zeitlang schleifen lassen und dank Janl wieder zum Laufen bekommen (Herzlichen Dank an dieser Stelle noch einmal dafür !!). Die Website läuft jetzt auch auf einem Server von Janl.
Darum habe ich jetzt ein neues Projekt angefangen: eine Bekannte meiner Frau (Friseurin) möchte eine Homepage haben - soweit, so gut. Die ersten Entwürfe sind abgestimmt, die Struktur steht weitestgehend und ich mache mich schon mal ans Eingemachte. Und genau da fangen jetzt meine Probleme an:
Die Friseurin hat von vielen Kund(inn)en Vorher-Nachher-Bilder gemacht, die sie - ggfs. mit Kommentaren, Anmerkungen etc. - auch posten möchte. Ich habe mich daher für LISE 1.4.2 entschieden und wollte alle zusammengehörigen Bilder (inkl. Kommentare etc.) nebeneinander - evtl. in einer Tabelle - darstellen. Gleichzeitig wollte ich aber auch die Möglichkeiten von Gallery 2.4.2 (Vergrößern, Weiterschalten der Bilder) nutzen.
Nur - wie kann ich LISE und Gallery verheiraten ? Ich habe schon den Beitrag "LISE : Gallery anzeigen" gelesen, aber der geht davon aus, dass ein komplettes (Unter-)Verzeichnis der Gallery dargestellt werden soll. Bei mir sollen aber nur die zusammenhängenden Bilder innerhalb eines (Unter-)Verzeichnisses der Gallery angezeigt werden.
Gibt es noch irgendeinen Kniff, der mir bislang entgangen ist ? Ich hoffe wie immer auf Eure Hilfe und freue mich schon darauf, selber wieder im Forum tätig werden zu können.
Edit: Janl hat mir die Website auf seinem Server unter CMS/ms 2.2.15 aufgesetzt.
Beitrag geändert von Dancer62 (07. März 2021 15:57)
Man ist so alt, wie man sich fühlt...
Offline