Reading arrays without loops

The place to talk about things that are related to CMS Made simple, but don't fit anywhere else.
Post Reply
andrewvideouk
Forum Members
Forum Members
Posts: 155
Joined: Thu Aug 20, 2020 10:49 pm

Reading arrays without loops

Post by andrewvideouk »

Hi guys.

Sorry keep asking for help.

I am gettng very confussed how to reading arrays. I am using a foreach to get one string from a variable from the fields i added tom news module. I know the

In the news module (Detail template been trying diffent ways read a variable in array.

I am using this to get my variables at the mo. I want remove the foreach

Code: Select all

{foreach from=$entry->fields item='field'}
  {if $field->type == 'file' && $field->value !=''  } 
               {capture assign='get_image' }{$entry->file_location}/{$field->value}{/capture}
               {$get_image = $get_image  scope=global}  
    {/if} 
 {if $field->name == 'Alternate Text (Image)' }
 {assign var='alt' value=$field->value }
   {/if}
  {/foreach}
I am trying something like {$entry->fieldname.['Alternate Text (Image)'].value}
Also i would like to acess the same thing in CGCalendar and LISE.

I know i can do {$variable|print_r} I don't know how to access the information i need.

Would be great if some help how to do it. The dumps are below.

Thank you.

News modile

Code: Select all

{$entry->fields|print_r}

--Array ( [Image] => news_field Object ( [_data:news_field:private] => Array ( [id] => 1 [name] => Image [type] => file [max_length] => 255 [item_order] => 1 [public] => 1 [extra] => a:1:{s:7:"options";N;} [value] => ) [_displayvalue:news_field:private] => ) [Alternate Text (Image)] => news_field Object ( [_data:news_field:private] => Array ( [id] => 4 [name] => Alternate Text (Image) [type] => textbox [max_length] => 100 [item_order] => 2 [public] => 1 [extra] => a:1:{s:7:"options";N;} [value] => ) [_displayvalue:news_field:private] => ) ) 1--- 


CGCalendar (want to access to Image description

Code: Select all

[event_date_start] => 2022-02-07 11:00:00 [event_date_end] => 2022-02-07 13:00:00 [event_parent_id] => -1 [event_recur_period] => none [event_date_recur_end] => [event_created_by] => -101 [event_create_date] => 2022-02-06 17:21:01 [event_modified_date] => 2022-02-06 20:11:42 [event_recur_nevents] => -1 [event_recur_interval] => -1 [event_recur_weekdays] => [event_recur_monthdays] => [event_allows_overlap] => 1 [event_all_day] => 0 [event_status] => P [url] => https://www.backdrop.org.uk/events/89/224-Test [fgcolor] => #ffffff [bgcolor] => #ff6600 [categories] => Array ( [0] => 2 ) [category_names] => Front end [fields] => Array ( [Address Line 1] => Array ( [field_name] => Address Line 1 [field_type] => 0 [field_searchable] => 0 [field_extra] => Array ( [searchable] => 0 [wysiwyg] => 0 [ddopts] => ) [field_order] => 8 [event_id] => 224 [field_value] => test street [raw_value] => test street ) [City / Town] => Array ( [field_name] => City / Town [field_type] => 0 [field_searchable] => 0 [field_extra] => Array ( [searchable] => 0 [wysiwyg] => 0 [ddopts] => ) [field_order] => 9 [event_id] => 224 [field_value] => Test City [raw_value] => Test City ) [County] => Array ( [field_name] => County [field_type] => 0 [field_searchable] => 0 [field_extra] => Array ( [searchable] => 0 [wysiwyg] => 0 [ddopts] => ) [field_order] => 10 [event_id] => 224 [field_value] => South Yorkshire Test [raw_value] => South Yorkshire Test ) [Image] => Array ( [field_name] => Image [field_type] => 7 [field_searchable] => 0 [field_extra] => Array ( [searchable] => 0 [wysiwyg] => 0 [ddopts] => ) [field_order] => 1 [event_id] => 224 [field_value] => images/Confident.png [raw_value] => images/Confident.png ) [Image description] => Array ( [field_name] => Image description [field_type] => 0 [field_searchable] => 1 [field_extra] => Array ( [searchable] => 1 [wysiwyg] => 0 [ddopts] => ) [field_order] => 2 [event_id] => 224 [field_value] => Test alt [raw_value] => Test alt ) [Organization / Place] => Array ( [field_name] => Organization / Place [field_type] => 0 [field_searchable] => 0 [field_extra] => Array ( [searchable] => 0 [wysiwyg] => 0 [ddopts] => ) [field_order] => 7 [event_id] => 224 [field_value] => test Organization [raw_value] => test Organization ) [Post Code] => Array ( [field_name] => Post Code [field_type] => 0 [field_searchable] => 0 [field_extra] => Array ( [searchable] => 0 [wysiwyg] => 0 [ddopts] => ) [field_order] => 11 [event_id] => 224 [field_value] => TES T2 [raw_value] => TES T2 ) [Summary] => Array ( [field_name] => Summary [field_type] => 2 [field_searchable] => 1 [field_extra] => Array ( [searchable] => 1 [wysiwyg] => 1 [ddopts] => ) [field_order] => 0 [event_id] => 224 [field_value] =>

Test Summary
[raw_value] => 
........

LisE ( 'Alternate Text (Image)' )

Code: Select all


) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/TextArea [position:protected] => 1 [required:protected] => 0 [options:protected] => Array ( [max_length] => 1000 [search_index] => 1 [wysiwyg] => 1 ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => LISEEventHandlerBase Object ( [_field:LISEEventHandlerBase:private] => lisefd_TextArea Object *RECURSION* ) ) [2] => lisefd_TextArea Object ( [id:protected] => 2 [name:protected] => Content [alias:protected] => content [description:protected] => [type:protected] => TextArea [friendlytype:protected] => Text Area [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] =>
text text here
) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/TextArea [position:protected] => 2 [required:protected] => 1 [options:protected] => Array ( [max_length] => 6000 [search_index] => 0 [wysiwyg] => 1 ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => LISEEventHandlerBase Object ( [_field:LISEEventHandlerBase:private] => lisefd_TextArea Object *RECURSION* ) ) [3] => lisefd_Dropdown Object ( [id:protected] => 3 [name:protected] => Status [alias:protected] => status [description:protected] => [type:protected] => Dropdown [friendlytype:protected] => Dropdown [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => published ) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/Dropdown [position:protected] => 3 [required:protected] => 1 [options:protected] => Array ( [options] => Published=published Draft=draft ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => LISEEventHandlerBase Object ( [_field:LISEEventHandlerBase:private] => lisefd_Dropdown Object *RECURSION* ) ) [7] => lisefd_SelectDateTime Object ( [id:protected] => 7 [name:protected] => Post Date [alias:protected] => date [description:protected] => [type:protected] => SelectDateTime [friendlytype:protected] => Select DateTime [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( ) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/SelectDateTime [position:protected] => 4 [required:protected] => 0 [options:protected] => Array ( [backwards_compatibility] => 1 [date_format] => dd-mm-yy [format_type] => 1 [show_seconds] => 0 [size] => 20 [time_format] => HH:mm ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value|cms_date_format} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => liseeh_SelectDateTime Object ( [_field:LISEEventHandlerBase:private] => lisefd_SelectDateTime Object *RECURSION* ) ) [10] => lisefd_FileUpload Object ( [id:protected] => 10 [name:protected] => Image upload [alias:protected] => FileUpload [description:protected] => [type:protected] => FileUpload [friendlytype:protected] => File Upload [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => woman-award-holding-achievement-winner-success-1585875-pxhere.com.jpg ) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/FileUpload [position:protected] => 5 [required:protected] => 1 [options:protected] => Array ( [allowed] => gif,jpeg,jpg,png [dir] => images/blog [image] => 1 [size] => 20 ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => liseeh_FileUpload Object ( [_data:liseeh_FileUpload:private] => [_field:LISEEventHandlerBase:private] => lisefd_FileUpload Object *RECURSION* ) ) [9] => lisefd_TextInput Object ( [id:protected] => 9 [name:protected] => Alternate Text (Image) [alias:protected] => alt [description:protected] => [type:protected] => TextInput [friendlytype:protected] => Text Input [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => Woman holding achievement ) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/TextInput [position:protected] => 6 [required:protected] => 1 [options:protected] => Array ( [max_length] => 255 [search_index] => 0 [size] => 50 ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => LISEEventHandlerBase Object ( [_field:LISEEventHandlerBase:private] => lisefd_TextInput Object *RECURSION* ) ) [5] => lisefd_TextInput Object ( [id:protected] => 5 [name:protected] => Extra (Code) [alias:protected] => code [description:protected] => [type:protected] => TextInput [friendlytype:protected] => Text Input [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( ) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/TextInput [position:protected] => 7 [required:protected] => 0 [options:protected] => Array ( [max_length] => 255 [search_index] => 0 [size] => 100 ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => {$fielddef.name}: {$fielddef.value} [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => LISEEventHandlerBase Object ( [_field:LISEEventHandlerBase:private] => lisefd_TextInput Object *RECURSION* ) ) [12] => lisefd_LISEInstanceItem Object ( [id:protected] => 12 [name:protected] => Add Video [alias:protected] => LISEYouTube [description:protected] => [type:protected] => LISEInstanceItem [friendlytype:protected] => LISE Instance Item [value:protected] => LISEFielddefValue Object ( [storage:ArrayObject:private] => Array ( [0] => Merry Christmas From Sheffield Voices ) ) [originator:protected] => LISE [active:protected] => 1 [disabled:protected] => [path:protected] => /home/backdrop/public_html/modules/LISE/lib/fielddefs/LISEInstanceItem [position:protected] => 8 [required:protected] => 0 [options:protected] => Array ( [columns] => 1 [identifier] => title [instance] => LISEYouTube [separator] => line [size] => 5 [subtype] => Dropdown ) [caller:protected] => [item_id:protected] => 13 [parent_array:protected] => LISEFielddefArray Object *RECURSION* [template:protected] => [view:protected] => [hastemplate:protected] => 1 [event_handler:protected] => LISEEventHandlerBase Object ( [_field:LISEEventHandlerBase:private] => lisefd_LISEInstanceItem Object *RECURSION* ) ) ) ) ) 1

---blog/we_have_been_shortlisted---

User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Reading arrays without loops

Post by velden »

In your first example {foreach from=$entry->fields item='field'}

$entry->fields is the array.
$entry->fields['Alternate Text (Image)'] then is the field object at 'key' Alternate Text (Image)
From that field object you want the value, which you can access by calling the 'value' method of this object according to the sample template:

Code: Select all

{$field->value}
Altogether

Code: Select all

{$entry->fields['Alternate Text (Image)']->value}
should then work

For CGCalendar you should use the same approach to get the value you need. Check the sample templates to see how to get to the field object and then how to get the value.
Post Reply

Return to “The Lounge”