Error
OBSS: Error on get sef url:.SSL certificate problem: certificate has expired
Get Element by ID in ZOO
Sometimes when using ZOO, we need to call an element (usually if we're creating a custom element) and the only way to do this is by getting it's ID. An element's ID is automatically generated when you assign it to a position.
The pathway to finding an element's ID is simple. Navigate to /media/zoo/applications/[yourapplication]/templates/[template]/renderer/item/positions.config
Open this file and find the renderer you're looking for - it will be displayed like this "[application].[template].full"
.
"[application].[template].full": { "title": { "0": { "showlabel": "0", "altlabel": "", "link_to_item": "0", "element": "_itemname" } }, "media": { "0": { "showlabel": "0", "altlabel": "", "width": "500", "height": "500", "link_to_item": "0", "element": "246e955a-5a57-4ad0-ad8c-c15fc7bfccb6" }, "1": { "showlabel": "0", "altlabel": "", "mode": "lightbox", "lightbox_group": "1", "lightbox_caption": "1", "slideshow_animated": "top", "slideshow_width": "auto", "slideshow_height": "auto", "slideshow_autoplay": "1", "slideshow_interval": "5000", "slideshow_duration": "500", "effect": "", "spotlight_effect": "default", "spotlight_caption": "0", "corners": "square", "margin": "1", "order": "asc", "width": "100", "height": "0", "count": "0", "element": "8f1b39e8-be85-41bd-993f-7284dabdd061" } }, "description": { "0": { "showlabel": "0", "altlabel": "", "separated_by": "tag=[<div>%s<\/div>]", "display": "all", "element": "83ba7366-d126-40f0-923e-3e7a94f0e773" } }, "specification": { "0": { "showlabel": "1", "altlabel": "", "separated_by": "separator=[ ]", "element": "56befa0b-6dbf-4819-87b4-d94fc27ff965" }, "1": { "showlabel": "1", "altlabel": "", "separated_by": "separator=[, ]", "element": "d61cb730-00c1-48ad-bef9-0dceb5cfc018" }, "2": { "showlabel": "0", "altlabel": "", "width": "", "height": "", "link_to_item": "1", "element": "b412c3ff-30e7-43a6-9aae-18b4fbdb77d0" } }, "bottom": { "0": { "showlabel": "1", "altlabel": "Share this product", "ggsize": "medium", "ggannotation": "none", "ggwidth": "", "fbheight": "20", "fbwidth": "100", "fbshow_faces": "false", "fblayout": "button_count", "fbaction": "like", "fbcolorscheme": "light", "fbref": "", "twvia": "", "twtext": "", "twrelated": "", "twcount": "none", "element": "d4e76744-47c4-4e90-980a-12c846789f5e" } }, "related": { "0": { "showlabel": "1", "altlabel": "", "order": { "0": "_itemcreated", "1": "", "2": "" }, "layout": "related", "link_to_item": "0", "separated_by": "tag=[<div>%s<\/div>]", "element": "64c188a6-cf2f-4895-8879-8b67a58b6780" } } },
If there is more than 1 element in a position, it will be listed in the order that it has been assigned. Imagine we are looing for the ID of the element in the description position.
"description": { "0": { "showlabel": "0", "altlabel": "", "separated_by": "tag=[<div>%s<\/div>]", "display": "all", "element": "83ba7366-d126-40f0-923e-3e7a94f0e773" } },
This is what we're looking for: "element": "83ba7366-d126-40f0-923e-3e7a94f0e773"
. Whenever we want to pull information from this specific element, we reference this ID 83ba7366-d126-40f0-923e-3e7a94f0e773
. All elements have an ID you can find in the position file in it's relative template folder.
To render it:
Echo $item->getElement('_itemcategory')->render())
Or
$theElement = $item->getElement('_itemcategory'); Echo $theElement->render();