Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 13. Dezember 2011 19:15
- otter24
- kennt CMS/ms
- Ort: Hamburg
- Registriert: 12. Januar 2011
- Beiträge: 339
[GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Moin ...
Ich nutze das erste mal Listit2 und bin fast ganz begeistert.
Einige Dinge sind mir noch nicht ganz klar, oder ich hab Sie hier im Forum noch nicht gefunden.
Ich baue gerade eine Teammitglieder Seite für einen Verein.
Dabei wollte ich folgende Felder einbauen.
1. Profilbild.
2. Name
3. Funktion
4. Abteilung
5. E-Mail
6. Sparte
Nun möchte ich das die E-Mail "verlinkt" ist also der mailto: Tag eingefügt wird, bzw. man fügt das selber ein. Dummerweise zeigt er mir im Frontend immer ...
E-Mail: <a href="mailto:name@example.com">name@example.com"</a>
Das gleiche möchte ich auch für die Sparte erreichen. Das wäre denn ein Link auf eine CMSMS Seite, kann natürlich auch mal ein externer Link werden.
Schön wäre es auch wenn ich heraus bekäme, das eine Feld NICHT angezeigt wird, wenn es leer ist.
Also keine E-Mail Adresse, keine Anzeige von "E-Mail: "
Danke im voraus.
Gruß aus HH
Ich bin war kein Klugscheißer, ich weiß wusste es wirklich nicht besser.
Offline
#2 13. Dezember 2011 20:33
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Du kannst im Template eine entsprechende Abfrage machen:
{if $item->fielddefs.email.value}Emailadresse ist vorhanden{/if}
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#3 13. Dezember 2011 20:44
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Hi,
insgesamt sollte es dann so funktionieren:
{if $item->fielddefs.email.value}
E-Mail: <a href="mailto:{$item->fielddefs.email.value}">{$item->fielddefs.email.value}</a>
{/if}
Dann muss auch wirklich nur die eMail-Adresse eingetragen werden.
Offline
#4 14. Dezember 2011 23:11
- otter24
- kennt CMS/ms
- Ort: Hamburg
- Registriert: 12. Januar 2011
- Beiträge: 339
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Danke Danke Danke
das hat zunächst einmal ganz gut funktioniert.
Allerdings hab ich aus dem Template, ich zunächst einmal das default Template genommen, folgenden Code löschen müssen.
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'upload_file' || $fielddef.type == 'select_file'}
{$fielddef.name|cms_escape}: <a href="{$fielddef.dir|cms_escape}/
{$fielddef.value|cms_escape}">{$fielddef.value|cms_escape}</a><br /> {else}
{$fielddef.name|cms_escape}: {$fielddef.value|cms_escape}<br /> {/if} {/foreach}
und dann jedes Feld was ich benötige durch eine If Abfrage ersetzt.
{if $item->fielddefs.Name.value} Name: {$item->fielddefs.Name.value} {/if} <br />
{if $item->fielddefs.email.value} E-Mail: <a href="mailto:
{$item->fielddefs.email.value}">{$item->fielddefs.email.value}</a> {/if}
funktioniert, macht die Sache aber doch sehr unbequem, da ich für jedes neue Feld ja die If Abfrage einbauen muss.
Lösche ich die foreach Schleife nicht erhalte ich das Feld E-Mail 2 x...
Oder hab ich was falsch verstanden?
Gruß aus HH
Beitrag geändert von otter24 (14. Dezember 2011 23:11)
Ich bin war kein Klugscheißer, ich weiß wusste es wirklich nicht besser.
Offline
#5 14. Dezember 2011 23:18
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
In der foreach-Schleife werden alle Felder durchlaufen. Somit wird natürlich auch das E-Mailfeld 2x aufgeführt. Du kannst die if-Abfragen entweder in der foreach-Schleife machen oder wie von dir vorgeschlagen die Felder einzeln ansprechen. Dieser weg ist sicher einfacher.
Unbequem ist die Sache nicht unbedingt. Du hast damit die volle Kontrolle im Template was wann und wo kommt.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#6 14. Dezember 2011 06:28
- otter24
- kennt CMS/ms
- Ort: Hamburg
- Registriert: 12. Januar 2011
- Beiträge: 339
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Unbequem meinte ich auch nur in dem Fall,
das der Kunde doch noch ein Feld dazu haben möchte.
Dann darf ich noch mal ans Template dran... Aber OK so hab ich aber
die Kontrolle wie was aussieht und wo was erscheint
insofern ist das natürlich sehr komfortabel.
Danke ...
Ich bin war kein Klugscheißer, ich weiß wusste es wirklich nicht besser.
Offline
#7 27. Februar 2013 11:51
- rednose
- probiert CMS/ms aus
- Registriert: 28. März 2011
- Beiträge: 63
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Ich bin auch grosse Fan von Listit2. Grundsätzlich kann ich auch alles darstellen was ich möchte.
Für email habe ich folgendes
<a href="mailto:{$item->fielddefs.emailadres.value}">Email an {$item->fielddefs.name.value}</a>
Jetzt möchte ich aber der Email am liebsten mit anti-spam Code haben:
{mailto address="" encode="javascript" text="Email"}
Nur zeigt es die smarty tags auch als solche an. Ist das überhaupt möglich was mir vorschwebt oder geht das gar nicht?
Offline
#8 27. Februar 2013 12:34
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Hi,
das sollte so funktionieren:
{mailto adress=$item->fielddefs.emailadres.value encode="javascript" text="Email"}
Offline
#9 27. Februar 2013 17:26
- rednose
- probiert CMS/ms aus
- Registriert: 28. März 2011
- Beiträge: 63
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
das problem ist, das er diese smarty-Zeile gar nicht aus dem detail-template darstellt. sogar wenn ich ein feste email-adress reintue , dann wird diese zeile nicht dargestellt in frontend.
dann war meine 2. idee um der code in der Eintrag selber als code einzugeben
{mailto adress="xy@xy.ch" encode="javascript" text="Email"}
und dann aufzurufen im Template mit {$item->fielddefs.emailadres.value}.
Dann stellt er in Frontend aber genau dann auch dies da als Text {mailto adress="xy@xy.ch" encode="javascript" text="Email"}
Irgendwie liest das Template nur Smarty mit $item->etc aus, aber keine andere smarty aus andere Module/Core. Muss ich irgendwo eine andere Einstellung machen?
Offline
#10 27. Februar 2013 20:17
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
dann war meine 2. idee um der code in der Eintrag selber als code einzugeben
{mailto adress="xy@xy.ch" encode="javascript" text="Email"}
und dann aufzurufen im Template mit {$item->fielddefs.emailadres.value}.
Dann stellt er in Frontend aber genau dann auch dies da als Text {mailto adress="xy@xy.ch" encode="javascript" text="Email"}
{$item->fielddefs.emailadres.value} ist bereits eine Smarty-Variable - oder anders gesagt, Smarty "denkt", ihr Job als Template-Engine ist bereits erledigt .
Eine Smarty-Variable nochmals durch Smarty verarbeiten und ausgeben zu lassen geht so
{eval var=$item->fielddefs.emailadres.value}
Offline
#11 28. Februar 2013 10:07
- rednose
- probiert CMS/ms aus
- Registriert: 28. März 2011
- Beiträge: 63
Re: [GELÖST] Listit2 Feld für E-Mail Adresse und andere Fragen
Super, vielen Dank. Das war es.
Und mit einer benutzerdefinierter Button in Tinymcse kann der Kunde das jetzt auch schön selber weiter bearbeiten.
Ich hatte schon mal gegoogled nach "smarty in smarty" aber das war natürlich soooo ungenau, dass dementsprechend die Suchresultate auch nicht weiter geholfen haben. Das das aber variabele als template auswerten ist, wäre ich nie selber drauf gekommen.
nochmals vielen Dank
Offline
Seiten: 1