custom функции classes/modules/custom.php
Если необходимо вывести товары из каталога в котором активировано поле
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
public function getParentId ($id) { // ID родителя $hierarchy = umiHierarchy::getInstance(); // коннект $page = $hierarchy->getElement($id); return $page->getParentId(); } public function getNamePage ($id, $value) { // Имя страницы $hierarchy = umiHierarchy::getInstance(); $page = $hierarchy->getElement($id); return $page->$value; } public function getParent ($id, $value = 'name') { // Информация страницы $parentId = $this->getParentId($id); return $this->getNamePage($parentId, $value); } public function random_pos() { // http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/proizvolnye_vyborki/selector/ $query = new selector('pages'); // тащим страницы $query->types('hierarchy-type')->name('catalog', 'object'); // тащим из каталога $query->where('ishit')->equals('1'); // где свойство 1(галочка) $query->order('rand'); // в рандоме $result = NULL; foreach($query as $res) { $result .= "{$this->getParent($res->id)} {$this->getParent($res->id,'link')} {$res->id} {$res->link} Цена: {$res->price} Картинка: {$res->header_pic} Название: ".$res->name." {$res->pid}<br/>"; } return $result; } |
Вывод custom umi для tpl
1 |
%custom myGeoIp()% |
Вывод custom umi для xslt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<xsl:variable name="town" select="document('udata://custom/myGeoIp')" /> <xsl:variable name="town_name"> <xsl:choose> <xsl:when test="$town = 'SPB'"> <xsl:text>Санкт-Петербург</xsl:text> </xsl:when> <xsl:when test="$town = 'MSK'"> <xsl:text>Москва</xsl:text> </xsl:when> <xsl:otherwise> <xsl:text>Москва</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:variable> |
Вывод:
1 |
<xsl:value-of select="$town_name"/> |
1 2 3 |
<xsl:variable name="id" select="@id"/> <xsl:value-of select="document(concat('udata://custom/getGoodOfTheWeek/', $id))/udata" /> |