Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Sumrakrnd

Страницы: [1] 2 3
1
Доброго времени суток.

По дизайну сделано, что список товаров из каталога, являются частью корзины.

Есть список товаров каталога в виде checkbox, которые выбираются и "добавляются" в корзину, так же выбирается кол-во.
А ниже сразу же заполняются данные: ФИО, Телефон, E-mail и Способ оплаты...

Как можно реализовать это в обход привычных шагов? Какие запросы и как использовать?
Просто такой не стандартный вид  :(

Приложу скриншот дизайна...

2
Доброго времени

Пытаюсь разобраться
Нашла вот такие статьи, но очень мало со стороны xslt шаблона информации...
http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/zapis_na_priem/
http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_zapis_na_priem/

Есть еще какие-то источники по данному модулю?

Просто например, можно к Сотруднику привязать Услугу и наоборот к Услуге - Сотрудника?

3
Доброго времени суток.

Использовала я модуль комментарии для страницы отзывы и возникло пару вопросов:

1) как вызвать пагинацию для комментариев.

2) как правильно вызвать дату публикации самого комментария. Если я просто обращаюсь к @publish_time он берет unix-timestamp, а мне надо formatted-date
часть xml комментария:
<property id="208" name="publish_time" type="date" is-important="1">
   <title>Дата публикации</title>
       <value formatted-date="27.02.2017 19:34" unix-timestamp="1488213297">Mon, 27 Feb 2017 19:34:57 +0300</value>
</property>


Вот вызов комментариев:
							<section class="container reviews">
<xsl:apply-templates select="document(concat('udata://comments/insert/', page/@id))/udata"/>
</section>
И вот:
	<xsl:template match="udata[@module = 'comments'][@method = 'insert']">
<aside>
<div class="form_review comments" umi:module="comments" umi:add-method="none" umi:region="list" umi:sortable="sortable">
<xsl:apply-templates select="add_form" mode="guest" />
</div>
</aside>

<section class="content">
<xsl:apply-templates select="total" />

<a name="comments" />
<h3>
<xsl:text>Свежие отзывы</xsl:text>
</h3>
<div class="all-reviews comments" umi:module="comments" umi:add-method="none" umi:region="list" umi:sortable="sortable">
<xsl:apply-templates select="items/item" mode="comment" />
</div>
</section>

</xsl:template>

<xsl:template match="udata[@method = 'insert']/add_form" mode="guest">
<a name="add-comment" />
<form class="form" method="post" action="{action}" id="form_for_comments">
<legend>Напишите свой отзыв</legend>
<fieldset>
<input type="text" name="author_nick" placeholder="Вас зовут" class="textinputs" />

<input type="text" name="author_email" placeholder="E-mail" class="textinputs" />

<textarea cols="48" rows="5" placeholder="Сообщение" name="comment"></textarea>
</fieldset>
<fieldset>
<input type="submit" class="button" value="Отправить" />
</fieldset>
</form>
</xsl:template>
<xsl:template match="item" mode="comment">
<div class="review item" umi:element-id="{@id}" umi:region="row">
<span class="date">
<xsl:value-of select="@publish_time" disable-output-escaping="yes" />
</span>
<div class="review_text" tabindex="0">
<span class="arrow"></span>
<h4 umi:field-name="author_id" umi:delete="delete" umi:empty="&empty;">
<xsl:value-of select="." disable-output-escaping="yes" />
</h4>
<p class="descr" umi:field-name="message" umi:delete="delete" umi:empty="&empty;">
<xsl:value-of select="." disable-output-escaping="yes" />
</p>
</div>
</div>
</xsl:template>

И такой маленький вопрос, если мне нужно будет позже подключить комментарии к новостям.
Может этот запрос на комментарии для отзывов сделать через свой mode?

4
Доброго времени суток.

Подскажите, можно ли выставить определенный порядок у выводимых баннеров?
Например, по приоритету или по дате начала показа..

<xsl:apply-templates select="document('udata://banners/insert/(right_block)/0/true')/udata"
                             mode="right_banners"/>

    <xsl:template match="udata[@module = 'banners'][@method = 'insert']" mode="right_banners" />

    <xsl:template match="udata[@module = 'banners'][@method = 'insert'][//banner]" mode="right_banners">
<xsl:apply-templates select="//banner" />
    </xsl:template>

    <xsl:template match="udata[@module = 'banners'][@method = 'insert']">
        <xsl:apply-templates select="//banner" />
    </xsl:template>

    <xsl:template match="banner" />

    <xsl:template match="banner[@type = 'image']">
        <xsl:choose>
            <xsl:when test="href">
                <a href="{href}">
                    <xsl:if test="@target">
                        <xsl:attribute name="target">
                            <xsl:value-of select="@target" />
                        </xsl:attribute>
                    </xsl:if>
                    <div class="side-banner">
                        <img class="side-banner__img" src="{source}" alt="" width="{@width}" height="{@height}" />
                        <h4 class="side-banner__title">
                            <xsl:value-of select="alt" disable-output-escaping="yes" />
                        </h4>
                    </div>
                </a>
            </xsl:when>
            <xsl:otherwise>
                <div class="side-banner">
                    <img class="side-banner__img" src="{source}" alt="" width="{@width}" height="{@height}" />
                    <h4 class="side-banner__title">
                        <xsl:value-of select="alt" disable-output-escaping="yes" />
                    </h4>
                </div>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template match="banner[@type = 'html']">
        <xsl:value-of select="source" disable-output-escaping="yes" />
</xsl:template>

Спасибо.

5
Доброго времени суток.

Есть одна форма и два поддомена, msk и spb, неожиданно оказалось, что эта форма должна отправлять для spb на одного адресата, а когда находишься на msk на другого.

Вопрос вот в чем, если сделать два адресата для msk и spb например под форму обратного звонка, можно ли их как-то подтягивать под условие какой домен сейчас активен?

Или проще сделать отдельные формы?

Спасибо

6
Доброго времени суток.

У меня есть тип поля Составное, к нему подсоединен справочник.
Но почему-то сейчас не могу удалять из поля данные, удаляю, сохраняю, ничего не меняется
Или добавлять данные из Справочника, кнопка добавить просто ничего не открывает...

Из-за чего такое может быть?

http://prntscr.com/doumk5

7
Доброго времени суток.

Возникла проблема, мне надо чтобы блок <div class="cbp-ntcontent">...</div>, если поле content не заполнен, его не было.
Но проблема в том (наверное), что это поля подтягивается через usel.
Есть ли какой-нибудь аналог empty или условие можно сделать проще? (может я просто опять перемудривую)


Пробовала через if, но работает наоборот как-то, т.е. он делает нужный стиль, т.е. отключается активность, но при этом блок с пустым полем оставили стили активности, но текстовый блок не раскрывается...
	
    <xsl:template match="page" mode="accordion-content_full">
<li>
<h3 class="cbp-nttrigger">
<span>
<xsl:value-of select=".//property[@name='h1']/value"/>
</span>
</h3>
<xsl:if test=".//property[@name = 'content']/value">
<div class="cbp-ntcontent">
<div class="cbp-aside">
456
</div>

<div class="cbp-content">
<xsl:apply-templates select="document(concat('usel://block-content/142,147,160/', @id))/udata" mode="accordion_full"/>
</div>
</div>
</xsl:if>
        </li>
    </xsl:template>


Решила через переменную, choose и empty, но у меня выдает ошибку на функцию empty, что ее нет...
    <xsl:template match="page" mode="accordion-content_full">
<li>
<h3 class="cbp-nttrigger">
<span>
<xsl:value-of select=".//property[@name='h1']/value"/>
</span>
</h3>

<xsl:variable name="content_empty" select=".//property[@name = 'content']/value"/>
<!--<xsl:if test=".//property[@name = 'content']/value"></xsl:if>-->
<xsl:choose>
<xsl:when test="empty($content_empty)">

</xsl:when>
<xsl:otherwise>
<div class="cbp-ntcontent">
<div class="cbp-aside">
456
</div>

<div class="cbp-content">
<xsl:apply-templates select="document(concat('usel://block-content/142,147,160/', @id))/udata" mode="accordion_full"/>
</div>
</div>
</xsl:otherwise>
</xsl:choose>
        </li>
    </xsl:template>

<xsl:template match="udata" mode="accordion_full">
<xsl:apply-templates select="page" mode="accordion_full"/>
</xsl:template>

<xsl:template match="page" mode="accordion_full" >
<xsl:if test="@type-id='142'">
<div class="block-text">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes"/>
</div>
</xsl:if>

<xsl:if test="@type-id='160'">
<div class="block-text visit_payment">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes"/>
</div>
</xsl:if>

<xsl:if test="@type-id='147'">
<div class="methods">
<div class="block-text">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes"/>
</div>

<ul class="cbp-ntsubaccordion">
<!--<xsl:apply-templates select="/" mode="accordion-content" /> -->
<xsl:apply-templates select="document(concat('usel://block-content-accordion/148/', @id))/udata" mode="accordion-content_block2_3"/>
</ul>

</div>
</xsl:if>

    </xsl:template>

Выдает такую ошибку, оставляет первый блок и цепляет к нему не активность, хотя поля заполнены
Warning: XSLTProcessor::transformToXml(): xmlXPathCompOpEval: function empty not found in /home/c/cv65275/ott/public_html/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 51

Спасибо

8
Доброго времени суток.

Создала страницу новостей
Вывела новости, рубрики в которых они находятся, их alt-name, т.к. он нужен для фильтра, вроде все хорошо.
Но вот в каждой новости должно быть название категории к которой он относится и так же нужен alt-name для блока в котором новость...
- Новости и события (основная лента)
-- Общие вопросы(лента)
---Новость 1
-- Конференции и семинары(лента)
-- Тренинг-центр(лента)

Но тем же методом, который я использовала для lastlents, у меня внутри новости не получается вывести название ленты, в которой она находится, а получилось вывести название и alt-name, корневой ленты новостей...


	<xsl:template match="result[@module = 'news'][@method = 'rubric']">

<xsl:apply-templates select="document('udata://news/lastlents/(alls-news)/notemplate/10/0')"/>

<!--Кстати, а можно избежать указания id номеров, если я прописываю @id, то новости не отображаются -->
<xsl:apply-templates select="document(concat('udata://news/lastlist/', '(1090)(1091)(1092)(1093)(1094)(1095)(1096)', '//10/0/?extProps=publish_time,h1,content,news_image,anons'))/udata" />

    </xsl:template>

<xsl:template match="udata[@method = 'lastlents']">
<div class="rubrics">
<h4>Рубрики</h4>
<ul id="rubric-nav" umi:element-id="{$document-page-id}" umi:region="list" umi:module="news" umi:method="lastlist" umi:sortable="sortable">
<li class="alls-news">
<a rel="alls-news" class="">
<xsl:if test="position() = 1">
<xsl:attribute name="class">current</xsl:attribute>
</xsl:if>
Все
</a>
</li>
<xsl:apply-templates select="items/item" mode="news-rubrics" />
</ul>
</div>
</xsl:template>


<xsl:template match="item" mode="news-rubrics">
<li class="{document(concat('upage://',@id))/udata/page/@alt-name}" umi:element-id="{@id}" umi:region="row">
<a rel="{document(concat('upage://',@id))/udata/page/@alt-name}">
<xsl:value-of select="node()" />
</a>
</li>
</xsl:template>


<xsl:template match="udata[@method = 'lastlist']">
<div class="tabs">
<div class="numpages">
<xsl:apply-templates select="total" />
</div>

<ul class="tabs__caption">
<li class="active">Грядущие события</li>
<li>прошедшие мероприятия</li>
</ul>

<!-- rubric tab now -->
<div class="tabs__content active">
<!-- rubric now -->
<div id="all-rubric" umi:button-position="top right" umi:element-id="{$document-page-id}" umi:region="list" umi:module="news" umi:method="lastlist" umi:sortable="sortable">
<xsl:apply-templates select="items/item" mode="news-list" />
</div>
<!-- /rubric now -->
</div>
<!-- /rubric tab now -->

<!-- rubric tab past -->
<div class="tabs__content">
<!-- rubric past -->
<div id="all-rubric">
1 <!-- сюда должны идти новости и события, которые прошли/закончились -->
</div>
<!-- /rubric past -->
</div>
<!-- rubric tab past -->

</div>
<!-- /tabs -->
</xsl:template>


<xsl:template match="item" mode="news-list">
<xsl:variable name="date" select="document(concat('udata://system/convertDate/', @publish_time, '/(Y-m-d%20(H:i))'))/udata" />
<!-- проверяла какой alt-name вывожу -->
<xsl:value-of select="document(concat('upage://',$document-page-id))/udata/page/@alt-name" />

<div class="rubric alls-news " umi:element-id="{@id}" umi:region="row">
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-page-name;" class="rubric_link">
<span class="arrow"></span>

<div class="rubric_info">
<span class="date" umi:element-id="{@id}" umi:field-name="publish_time" umi:format="Y-m-d (H:i)">
<xsl:value-of select="$date" />
</span>
<span class="rubric_topic" umi:element-id="{$document-page-id}" umi:field-name="h1" umi:region="row">
<xsl:value-of select="document(concat('upage://', $document-page-id, '.h1'))/udata/property/value" disable-output-escaping="yes" />
</span>
</div>
<div class="rubric_text" umi:field-name="anons" umi:empty="&empty-page-anons;">
<h4><xsl:value-of select="node()" /></h4>
<p umi:field-name="anons" umi:empty="&empty-page-anons;">
<xsl:value-of select=".//property[@name = 'anons']/value" disable-output-escaping="yes" />
</p>
</div>
</a>
</div>
</xsl:template>

По второму вопросу:
Как проверить, что новость/событие прошли и чтобы она выводилась в другом месте?


Спасибо.

9
Доброго времени суток

Можете посоветовать, как изменить запрос для вызова меню?
 
вот у меня страница
http://otto.aveas.ru/clinic/scientific-advisory-branch/polyclinic/ - около заголовка дублируется подразделы "Научно-консультативное отделение" и заголовок самого раздела (так хотят)

Я вызываю эти подразделы меню вот таким запросом
    <xsl:template match="result" mode="menu-title">
        <div class="menu_title">
            <xsl:apply-templates select="document(concat('udata://content/menu/notemplate/0/', /result/parents/page[position() = 2]/@id))" mode="menu-items" />
        </div>
    </xsl:template>

Заголовок таким:
<xsl:variable name="h1_id" select="document(concat('upage://', page/@parentId, .//property/value/page/@id))" />
<h1>
<xsl:value-of select="$h1_id//property[@name = 'h1']/value" />
</h1>

Но вот на этой странице (и подобных разделов у которых нет подразделов)
http://otto.aveas.ru/about/official-info/ - так же около заголовка почему-то вызываются все пункты главного меню. И на таких страницах возникла сложность с заголовком, т.к. получается должен быть не "О нас", а "Официальная информация".

10
Доброго времени суток.
У меня такая ситуация, есть страница на которой текст в блоках с разным оформлением (всего их будет 7), решила эту проблему создав типы данных для создаваемых страниц и с помощью usel вывожу данные. Но проблема в том, что они выводятся как указала по шаблону для страницы сперва 143, потом 142... 

Как сделать или что переделать, чтобы выводилось в том порядке, в котором создавались сами страницы?

<?xml version="1.0" encoding="utf-8"?>
<selection>
    <target result="pages">
        <type id="142"/> <!-- для друго блока 143 -->
        <category depth="{3}">{2}</category>
    </target>
    <extended>
        <properties>h1, content</properties>
    </extended>
</selection>

Вот шаблон на страницу:
    <xsl:template match="result" mode="contentbar-content">

<div class="block-text">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes"/>
</div>

<xsl:apply-templates select="/" mode="simple-content" />

<xsl:apply-templates select="/" mode="title-content" />

    </xsl:template>

Вот шаблон одного из текстового блока:
    <xsl:template match="result" mode="simple-content" >
<!-- так же подставляется 143 -->
<xsl:apply-templates select="document(concat('usel://simple-content/142/', page/@id))/udata" mode="simple-content_block"/>
</xsl:template>

<xsl:template match="udata" mode="simple-content_block">
<xsl:apply-templates select="page" mode="simple-content_block"/>
</xsl:template>

    <xsl:template match="page" mode="simple-content_block" >
<!-- тут еще вызывается доп поле для типа 143-->
<div class="block-text">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes"/>
</div>
    </xsl:template>

11
Шаблоны XSLT / Проблема авторизации
« : 24 Августа 2016, 17:29:55 »
Доброго времени суток.
Я разобралась с выводами блогов и т.д.

Но возникла проблема

Есть пользователь, он авторизован, но когда вводишь логин и пароль для того, чтобы оставить комментарий http://www.nashe.eu/blog/otkrytie/
Ничего не происходит. Форма остается так же.

Но здесь можно увидеть, что вход прошел http://www.nashe.eu/partners/#registrate_i

Логин: test
Пароль: testtest

Почему так? :(


P.S.: под администратором работает тоже странно, залогинивается, но форма для авторизации уходит не сразу

12
Доброго времени суток.

Очень странное поведение.
Если здесь выбрать сортировку по цене
http://ruki24.ru/magazin/ehlektroinstrument/ - оставляет 2 товара из 7 (у них разный тип данных для фильтра сделан)
А здесь работает нормально
http://ruki24.ru/magazin/sadovaya-tehnika/ - нормально сортирует все 39 товаров (так же разные типы данных)

Вот код, стоит для всех одинаковый, поле с ценой фильтруемое.

Цитировать
<xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/', document('utype://catalog-object')//field[@name='price']/@name  ,'/', $sort_direction,'/'))/udata" />
Цитировать
   <xsl:template match="/result[@method = 'category'][count(/result/parents/page) &gt; 0]">
        <xsl:choose>
            <xsl:when test="$sort_field = 'Price'">
            <xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/', document('utype://catalog-object')//field[@name='price']/@name  ,'/', $sort_direction,'/'))/udata" />
            </xsl:when>
            <xsl:when test="$sort_field = 'Name'">
            <xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/', document('utype://catalog-object')//field[@name='title']/@name  ,'/', $sort_direction,'/'))/udata" />
            </xsl:when>
            <xsl:otherwise>
            
                <xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/'))/udata" />
            </xsl:otherwise>
        </xsl:choose>
   </xsl:template>

P.S.: Интересно, что сортировка по цене на общей странице http://ruki24.ru/magazin/ работает корректно

13
Шаблоны XSLT / Вывод фотоальбома.
« : 16 Августа 2016, 15:29:26 »
Доброго времени суток.

Надо вывести фотоальбомы на страницу через xslt.
Нашла тему, посмотрела, вроде ничего сложного http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/fotogalerei/photoalbum_albums/#xslt-templating
Попыталась вывести через запрос для страницы, альбом есть, который устанавливался в примере
<xsl:when test="result/page/@id='260'">
     <xsl:apply-templates select="document('udata://photoalbum/albums/')/udata" />
</xsl:when>

Выводит в коде только div с id photoalbum и ничего более..

Может я что-то не дописала?
Но привязка по id альбома мне не подходит, т.к. альбомов будет много

Если прописываешь в адресной строке udata://photoalbum/albums/260
<udata module="photoalbum" method="albums" generation-time="0.011467">
  <items>
    <item id="17" link="/kabeli_i_razemy/" xlink:href="upage://17">Фотогалерея кабелей</item>
  </items>
<total>1</total>
</udata>

14
Доброго времени суток.

Была у меня мобильная версия, все хорошо, т.к. дизайна мобильной версии не было, я просто перенесла шаблоны в папку mobile, т.к. не нашла способа ее отключит, а изменение имени папки выдавало ошибку php.

Доделала магазин перенесла шаблоны так же как и  остальные в mobile.
Я добавила catalog и emarket папки и в на главном шаблоне добавила:
<xsl:apply-templates select="document('udata://emarket/cart')" mode="basket" />

И вот тут началась веселуха.
У меня полетела кодировка и появилась куча ошибок...
Их видно только когда сидишь с телефона или например в toggle device toolbal

http://ruki24.ru/magazin/
сейчас на главной ничего нет, я пока убрала запрос emarket/cart, чтобы не так пугало.


Интересно еще что, если заходишь на конкретный товар, то все нормально...
https://ruki24.ru/magazin/sadovaya-tehnika/opryskivateli/stihl-sg-11-plus/

15
Доброго времени суток.

Пытаюсь подключить Яндекс.Кассу, вроде все нормально, делаю тестовую оплату, ввожу тестовую банковскую карту, нажимаю оплатить и пишет "Что-то пошло не так".

Тех.поддержка Яндекс.Кассы сказала, что "Ваша ссылка checkURL недоступна, в следствие чего провести платёж невозможно."

Хотя ссылки у них выставились автоматически при указание UMI.CMS....

Вопрос по каким адресам может происходить проверка платежей ( запросы check / aviso )? Если автоматические подставленные адреса не подошли...

Страницы: [1] 2 3