[CompanyDirectory] Custom Fields auslesen

Hilfe zu Modulen und Tags
Post Reply
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

[CompanyDirectory] Custom Fields auslesen

Post by nicmare »

Ich mal wieder...
Habe mal ne Frage zu den Custom Fields, die man hier (wie bei fast allen Modulen von CMSMS) anlegen kann.
Die werden im Template hiermit ausgelesen:

Code: Select all

{if $customfieldscount gt 0}
   {foreach from=$customfields item=customfield}
      {if $customfield->value ne ''}{$customfield->name}: {$customfield->value}{/if}
   {/foreach}
{/if}
Meine Frage:
Kann man die Felder irgendwie "manuell" auslesen? Die Namen entsprechen ja denen aus dem Backend (logischerweise). Hintergrund:
Im Backend heißen die Felder "Feld1" bis "Feld5". Und im Frontend will ich aber individuelle Namen vergeben. Aktuell ist es so dass ich 20 Felder angelegt habe, aber nicht jedes für jede Firma brauche. Deswegen ist das ganze Backend total unübersichtlich weil die Felderliste so lang ist. Und das will ich eben mit Feld1-Feld5 kürzen und im Frontend selber bezeichnen.
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: [CompanyDirectory] Custom Fields auslesen

Post by nicmare »

ich glaube das thema ist im smarty unterforum besser aufgehoben oder? Zur Verdeutlichung mal ein Beispiel was natürlich nicht funktioniert:

Code: Select all

{if  $entry->customfieldscount gt 0}
Wert1: {$fdid(1)->value}
Wert2: {$fdid(2)->value}
{/if}
Also dass man im Grunde die ID Abfragt

im backend ist das custom field als textarea angelegt:

Aber das hilft mir vermutlich auch nciht weiter?!
Last edited by nicmare on Fri Mar 19, 2010 12:11 pm, edited 1 time in total.
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: [CompanyDirectory] Custom Fields auslesen

Post by nicmare »

so ok, ich habe grad mal ne erste lösung, wenn auch primitiv:

Code: Select all

{if $entry->customfieldscount gt 0}
	{foreach from=$entry->customfields item=customfield}
		{if $customfield->id == '10'}
			Bezeichnung: {$customfield->value}
		{/if}
	{/foreach}
{/if}
wenn des noch eleganter geht, lasst es mich wissen :)
denn jetzt packe ich einfach 10 if schleifen hintereinander. etwas *primitiv* und man kann nicht die reihenfolge der felder festlegen
Last edited by nicmare on Fri Mar 19, 2010 1:49 pm, edited 1 time in total.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: [CompanyDirectory] Custom Fields auslesen

Post by nockenfell »

Hast du die Möglichkeit mit einem Code in der Richtung

Code: Select all

$entry->customfields.customfield->value
darauf zuzugreifen? Siehe http://forum.cmsmadesimple.org/index.php/topic,40631.0.html

Wenn das Array ähnlich strukturiert ist, könne es so gehen.
[this message is written with 100% recycled bits]
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: [CompanyDirectory] Custom Fields auslesen

Post by nicmare »

hey, auf deinen thread durch meine suchaktionen bin ich auch schon gestoßen :-).
aber wie soll das gehen? ich hab ja die id von jedem fall und muss die da irgendwie benutzen. in meinem fall bisher bei 10 felden mit 10 if schleifen die prüfen ob id x dran ist
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: [CompanyDirectory] Custom Fields auslesen

Post by nockenfell »

Kannst du mal ein print_r des Array posten? Dann kann ich mir besser vorstellen was für Daten vorhanden sind.
[this message is written with 100% recycled bits]
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: [CompanyDirectory] Custom Fields auslesen

Post by nicmare »

Also im Grunde funzt ja alles wie es soll. Problematisch ist an meiner Methode nur, dass man die Felder nicht sortieren kann. Der sortiert sie gemäß der Reihenfolge der IDs. jedenfalls ergibt {$entry->customfields|print_r}:

Code: Select all

stdClass Object ( [type] => textarea [id] => 40 [name] => Text6 [value] => ) stdClass Object ( [type] => dropdown [id] => 39 [name] => Rating6 [value] => 3 ) stdClass Object ( [type] => textarea [id] => 37 [name] => Text5 [value] =>

    Fließtext
) stdClass Object ( [type] => dropdown [id] => 36 [name] => Rating5 [value] => 5 ) stdClass Object ( [type] => textarea [id] => 35 [name] => Text4 [value] =>

   Fließtext

) stdClass Object ( [type] => dropdown [id] => 34 [name] => Rating4 [value] => 0 ) stdClass Object ( [type] => textarea [id] => 33 [name] => Text3 [value] =>

    Fließtext

) stdClass Object ( [type] => dropdown [id] => 32 [name] => Rating3 [value] => 4 ) stdClass Object ( [type] => textarea [id] => 31 [name] => Text2 [value] =>

   Fließtext

) stdClass Object ( [type] => dropdown [id] => 30 [name] => Rating2 [value] => 3 ) stdClass Object ( [type] => textarea [id] => 29 [name] => Text1 [value] =>

    Fließtext

) stdClass Object ( [type] => dropdown [id] => 28 [name] => Rating1 [value] => 4 ) stdClass Object ( [type] => dropdown [id] => 27 [name] => Gesamteindruck [value] => 5 ) Array 
Last edited by nicmare on Fri Mar 19, 2010 3:24 pm, edited 1 time in total.
Post Reply

Return to “Module und Tags”