Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 04. März 2013 01:05
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
[GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Ich betreue eine Internetseite, die über CMS made simple zweisprachig gestaltet wurde. Jetzt will ich das News-Modul nutzen, um entsprechende Artikel zu veröffentlichen.
Dazu will ich in den Artikeln zusätzlich zu dem (normalen) deutschen Inhalt auch noch ein Extra-Feld mit dem englischen Inhalt hinzufügen. Das klappt alles ganz gut. Das einzige Problem ist, dass ich es nicht hinbekomme, dass der englische Text immer dann ausgegeben wird, wenn er vorhanden ist. Ist keiner vorhanden, soll weiterhin der deutsche Text angezeigt werden.
Also auf den Punkt: Wie schaffe ich es, dass der englische Text bei Verfügbarkeit angezeigt wird, ansonsten der deutsche?
Vielen Dank für Eure Hilfe!!
Stefan
Offline
#2 04. März 2013 06:21
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Das englische Feld kannst du wie folgt ansprechen:
{$entry->fields.EnglishText->value}
Wichtig: Das Feld muss in diesem Fall "EnglishText" lauten. Genau so ohne Abstand und mit Gross- und Kleinbuchstaben. Ansonsten kannst du dieses nicht direkt anspechen.
Nun kannst du prüfen ob der Text auf Englisch vorhanden ist:
{if $entry->fields.EnglishText->value != ""}{$entry->fields.EnglishText->value}{/if}
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#3 04. März 2013 08:16
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Ergänzung:
Ich würde hier wieder mit strip_tags bzw. trim arbeiten, um sicherzustellen, dass das Feld wirklich keinen Inhalt hat. Bsp: http://www.cmsmadesimple.de/forum/viewt … 630#p24630
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
#4 04. März 2013 08:20
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Danke für die Ergänzung
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#5 04. März 2013 09:39
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Danke für Eure Hilfe. Ich habe das jetzt gerade versucht, aber irgendwie scheint die (erste) Bedingung nicht erfüllt zu sein. Der Code lautet mir nun im DetailTemplate des NewsModuls:
<div id="NewsPostDetailContent">
{if $entry->fields.textenglisch->value|strip_tags|trim != ""}
{$entry->fields.textenglisch->value}
{else}{eval var=$entry->content} {/if}
</div>
Es scheint so, als ob das Feld nicht gefunden wird, da - wie gesagt - immer die {else}-Anweisung durchgeführt wird. Habe ich hier einen Syntax-Fehler gemacht?
Also das Textfeld wurde über das News-Modul unter der Rubrik "Extra-Felder" mit Namen "textenglisch" als mehrzeiligen Textbereich angelegt.
Offline
#6 04. März 2013 10:21
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Komisch...
Ich hab grade mal ein Feld mit Namen: textenglisch angelegt, und den Part des Teplates von oben eingefügt, und es funktioniert prima.
Sicher, dass dein Feld textenglisch heisst und nicht irgendwo vertippt?
Großbuchstaben... hinten ish oder isch...
Offline
#7 04. März 2013 10:24
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Auch mal den Zwischenspeicher löschen.
Ansonsten einfach mal beide Felder anzeigen lassen und dann im Browser in den HTML-Quelltext schauen, was genau da steht.
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
#8 04. März 2013 10:32
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Also ich muss dazu sagen, dass ich noch eine "ältere" Version nutze, und zwar 1.8.2. Ich weiß nicht, ob das Auswirkungen hat oder ob Smarty damals anders war.
Derjenige, der das programmiert hat, hat auf die MLE-Version von CMS Made Simple zurückgegriffen. Deswegen kann ich auch nicht ohne weiteres updaten...leider.
Die anderen Sachen versuche ich jetzt nochmal...Danke schon einmal!
Beitrag geändert von SonnenAnlieger (04. März 2013 11:11)
Offline
#9 04. März 2013 10:45
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Ich habe die {if}-Bedingung auskommentiert und wollte nur den Inhalt es Feldes ausgeben.
Im Ergebnis sehe ich inhaltsmäßig gar nichts, als ob entweder kein Inhalt existiert oder aber das Feld nicht gefunden wird.
Die Schreibweise habe ich mehrfach überprüft und auch Copy&Paste verwendet.
Wenn ich den Code wie folgt im Template habe
<div id="NewsPostDetailContent">
{*{if $entry->fields.textenglisch->value|strip_tags|trim != ""}*}
Englischer Text: {$entry->fields.textenglisch->value}
<br>
Deutscher Text: {eval var=$entry->content} </div>
kommt folgende HTMl-Ausgabe:
<div id="NewsPostDetailContent">
Englischer Text:
<br>
Deutscher Text: <p style="text-align: justify;"><strong>Neue Lehman-Urteile: </strong></p> <p style="text-align: justify;"><strong>BGH stärkt</strong><strong> Position der Banken</strong></p>
</div>
Im Ergebnis wird also nichts ausgegeben. Irgendwie komme ich nicht an das Feld bzw. den Inhalt ran.
Beitrag geändert von SonnenAnlieger (04. März 2013 10:45)
Offline
#10 04. März 2013 12:00
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
mach mal ein
<pre>{$entry->fields|print_r}</pre>
und poste den Code hier.
Hast du bei der Felddefinition "öffentlich" aktiviert? Ohne das, kommt das Feld auch nicht.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#11 04. März 2013 12:18
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Ja, das Feld ist öffentlich.
Ich habe den Code von Dir eingefügt und hier ist das Ergebnis:
stdClass Object
(
[value] => eBrief-Test.pdf
[id] => 5
[name] => pdf
[type] => file
)
stdClass Object
(
[value] => test234234234234fggfgfghfgh
[id] => 7
[name] => textenglisch
[type] => textarea
)
Array
Offline
#12 04. März 2013 12:32
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Ich habe noch eine Vermutung, aber ich kann die weder bestätigen noch mir eine mögliche Lösung vorstellen. Mir ist aufgefallen, dass weiter unter im Template eine {foreach}-Schleife eingesetzt wird.
{if isset($entry->fields)}
{foreach from=$entry->fields item='field'}
<div class="NewsDetailField">
{if $field->type == 'file' and $field->name == 'Bild'}
{* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} <img src="{$entry->file_location}/{$field->value}"/>
{elseif $field->type == 'file' and $field->name == 'pdf'}
<a href="{$entry->file_location}/{$field->value}" target="_blank"><img src="uploads/images/pdf.gif" height="30" width="30"> {$field->value}</a>
{else}
{$field->name} {eval var=$field->value}
{/if}
</div>
{/foreach}
{/if}
Der Aufruf
{$field->name} {eval var=$field->value}
zeigt den Inhalt des Felds "textenglisch" tatsächlich an. Vielleicht muss man hier mit den Ausdruck "eval" arbeiten. Aber ich weiß leider nicht, wie ich das auf meine Situation übertragen kann...
Offline
#13 04. März 2013 12:43
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Diese Funktionalität ist wohl in der 1.8.2 noch nicht vorhanden. Hier kommst du so an die Daten:
{if isset($entry->fields)}
{foreach from=$entry->fields item='field'}
<div class="NewsSummaryField">
{if $field->type == 'file'}
<img src="{$entry->file_location}/{$field->value}"/>
{else}
{$field->name}: {eval var=$field->value}
{/if}
</div>
{/foreach}
{/if}
--> Das ist der Standardcode aus dem Template. Diesen kannst du nun auf deine Bedürfnisse anpassen.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#14 04. März 2013 12:45
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Der Aufruf
{$field->name} {eval var=$field->value}
zeigt den Inhalt des Felds "textenglisch" tatsächlich an. Vielleicht muss man hier mit den Ausdruck "eval" arbeiten. Aber ich weiß leider nicht, wie ich das auf meine Situation übertragen kann...
Das Eval ist nicht unbedingt nötig. Es führt allfällig vorhandenen Smartycode im Inhalt des Newsfeldes aus. Du kannst das Feld auch direkt mit
{$field->value}
aufrufen.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#15 04. März 2013 13:01
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Diese Funktionalität ist wohl in der 1.8.2 noch nicht vorhanden. Hier kommst du so an die Daten:
{if isset($entry->fields)} {foreach from=$entry->fields item='field'} <div class="NewsSummaryField"> {if $field->type == 'file'} <img src="{$entry->file_location}/{$field->value}"/> {else} {$field->name}: {eval var=$field->value} {/if} </div> {/foreach} {/if}
--> Das ist der Standardcode aus dem Template. Diesen kannst du nun auf deine Bedürfnisse anpassen.
Wie realisiere ich das denn ohne die {foreach}-Schleife? Ich habe ja nur ein Feld, welches ich ausgeben möchte. Da brauche ich eine solche Schleife doch nicht.
Dieser Code funktioniert leider auch nicht:
{if $entry->field.textenglisch}
{$field.textenglisch->value}
{/if}
@nockenfell: Vielen Dank für Deine Hilfe!!
Beitrag geändert von SonnenAnlieger (04. März 2013 13:02)
Offline
#16 04. März 2013 13:09
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Dein Code ist folgender
{assign var="english" value=false}
{if isset($entry->fields)}
{foreach from=$entry->fields item='field'}
{if $field->name == 'textenglisch' and $field->value|strip_tags|trim != ""}
{eval var=$field->value}
{assign var="english" value=true}
{/if}
</div>
{/foreach}
{/if}
{if !$english}{eval var=$entry->content}{/if}
Damit wird zuerst das Zusatzfeld angesprochen. Wenn das Feld etwas drin hat, wird es ausgegeben und die Variable $english auf true gesetzt. Falls $english == false ist, wird der normale Content ausgegeben.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#17 04. März 2013 13:12
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Nachtrag: Ohne foreach kommst du meiner Meinung nach gar nicht auf's Feld. Allenfalls weiss NaN es hier noch ein wenig besser
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#18 05. März 2013 00:12
- SonnenAnlieger
- hat von CMS/ms gehört
- Registriert: 04. März 2013
- Beiträge: 10
Re: [GELÖST] Mehrere Inhaltsfelder bei Artikeln des News-Moduls
Nachtrag: Ohne foreach kommst du meiner Meinung nach gar nicht auf's Feld. Allenfalls weiss NaN es hier noch ein wenig besser
Ich habe es jetzt so ausprobiert, wie Du es gesagt hast. Mit der {foreach}-Schleife funktioniert es wirklich. Also anscheinend kann man auf die zusätzlichen Felder nicht direkt, sondern nur über eine generelle Abfrage zugreifen.
Jetzt klappt es in jedem Fall! Vielen Dank!
Offline
Seiten: 1