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

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

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


Темы - Axiomateria

Страницы: [1] 2 3
1
Здравствуйте!

Актуален вопрос, по которому уже касались в теме http://umihelp.ru/forum/index.php/topic,1365.msg5172.html#msg5172
про вывод контактной информации в соответствии выбранного региона или города.
У меня вопрос про выбор города и вывода данных в виде номеров телефонов и офиса адресов - как сделать так что бы обойтись без задействования языковой версии ?
Пользователь выбрал из списка (данные списка в справочнике "Города") , например город "Санкт-Петербург" и ему в шапке и футере  показываются телефоны питерские, а если он выбрал Москву, то соответственно номера московские.
Вроде просто, если задействовать языковую версию типа "СПб", но тогда в URL любой страницы сайта будет лишний /spb/ www.имясайта/spb/...   - вот этого бы конечно хотелось бы и избежать...

Как быть ?

2
Здравствуйте!
Может быть я ошибка с веткой форума, но мне кажется, что в первую очередь этот вопрос про поля формы шаблона на XSLT.
Пытаюсь сделать красивую форму для обратной связи, где стандартные кнопки броузера "Выберете файл" хочу заменить на что-то более оригинальное и удобоваримое на вид и с коррекцией её через CSS.
На примере сайта Юмисофт в поле для подгрузки файлов (см. скриншот - на примере поля "Аватарка" http://joxi.ru/l2ZVDRZfKbV32J ) при нажатии на кнопку "Обзор..." в его поле подставляется имя файла, который выбран пользователем с компьютера.
Кнопку вроде получилось сделать по аналогии с формой на сайте Юмисофт   (см. скриншот - кнопка ""Обзор" http://joxi.ru/5mdWZYyIjKzor1 ) но название файла не подгружается после его выбора в поле...
Поля, которые участвуют в заполнении поля
<input type="text" name="data[new][prikrepite_fajl_s_logotipom]" value="" class="input">
<input type="button" class="btn-load" value="Обзор...">
<input type="file" name="data[new][prikrepite_fajl_s_logotipom]">

Это вопрос вёрстки CSS-стилей или JS-скриптов или ещё какое-то поле в шаблоне формы надо указать ?
Заранее спасибо

3
Здравствуйте!
Подскажите пожалуйста, вдруг, кто знает, где можно скачать набор скриптов для такого фиксированного меню, как на сайте http://www.avtoall.ru
?
Интересует именно такой вариант как видно на примере сайта avtoall.ru где в прокручиваемой странице с некоторого момента происходит изменение в верхней планке меню, то есть, на пример, вместо ссылок меню появляется строка поиска.
 

4
Здравствуйте!
У нас в интернет-магазине есть справочник "Производитель", где список всех наименований брендов производителей.
Данный список выводится в фильтре по каталогу полностью по всех категориях на ряду с полями "Цена от и до".
Конечно в разных разделах разные товары, например в разделе "Аккумуляторы"  не нужны бренды в фильтре поиска из раздела "Масла" и других тоже -
вот и вопрос: возможно ли как-то в форме (см. ниже) установить правило, которое отсекало бы из справочника "Производитель" не нужные для этого раздела список брендов не производящих масла ?
То есть надо что бы в открытом разделе каталога были в фильтре поиска только актуальные наименования брендов.

    <xsl:template match="udata[@method = 'search'][group]" mode="search">      
                <form class="catalog_filter" role="form">
                    <input type="hidden" id="catalog_layout" name="catalog_layout" value="{$catalog_layout}" />
                    <input type="hidden" id="count" name="count" value="{$count}" /> 
                    <xsl:apply-templates select=".//field[not(@data-type = 'boolean')]" mode="search" />
                    <xsl:apply-templates select=".//field[@data-type = 'boolean']" mode="search" />
                    <div class="buttons">
                        <input class="btn btn-primary" type="submit" value="&apply;" />
                        <input class="btn btn-primary" type="button" value="&reset;" onclick="javascript: window.location = 'http://{$domain}/market/';" />
                    </div>
                </form>
    </xsl:template>

5
Здравствуйте!
В превью товара в разделе каталога надо вывести только те технические характеристики, чьи поля в типе данных объекта каталога этого товара отмечены как поля "Фильтруемые".
Путь решения задачи лежит через протокол utype, который описывается здесь:
http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/tipy_dannyh_protokol_utype/
Получить данные по этому протоколу дело не хитрое по значению ID типа данных объекта каталога (в моём случае он = 86) однако не понятно пока как теперь в этот сам объект каталога подключить проверку так что бы отсеять только фильтруемые поля для вывода в превью товара из всех остальных полей?
В моём случае известен не только ID типа данных объекта каталога (86) , но и название группы полей "special".

Для начала я получаю в переменную ID всех property группы полей special
<xsl:variable name="GroupSpecialPropertyId" select=".//group[@name = 'special']/property/@id"/>  
это как я понимаю надо что бы в дальнейшем сравнивать по этим полученным значениям ID соответствующие узлы <field> с целью проверки наличия у них атрибута  filterable со значением "filterable".

Но вот на этом месте с проверкой соответствия я и застрял, не понятно пока как теперь проверить это соответствие.
Что посоветуете ?

Пока только в объекте каталога выводятся все ID из property (в данном случае три штуки), а надо только данные для id="538"
<xsl:apply-templates select="$GroupSpecialPropertyId" />

<group id="639" name="special">
<title>1C: Специфические свойства</title>
<property id="538" name="manufacturer" type="relation">
<title>Производитель</title>
<value>
<item id="2973" name="ATLAS" type-id="164" ownerId="2" xlink:href="uobject://2973"/>
</value>
</property>
<property id="527" name="emkost" type="string">
<title>Емкость</title>
<value>38 Ач</value>
</property>
<property id="528" name="raspolozhenie_plyusovoj_klemmy" type="string">
<title>Расположение плюсовой клеммы</title>
<value>Справа</value>
</property>
</group>
</properties>

6
Здравствуйте!

У меня в разделе каталога через тип-строки "Ссылка на дерево" подключается баннер и на первой странице раздела он виден,
но если листать далее на вторую ?p=1, третью ?p=2 и так далее с приставкой в строке адреса раздела ?p=1  банер пропадает...
Вот почему так получается и как с этим бороться ?

Подключение  баннера в шаблоне:
<xsl:apply-templates select="document(concat('udata://photoalbum/album/', //property[@name = 'slider']/value/page/@id))/udata" mode="slider"/>



7
Здравствуйте!
Надо отредактировать личный кабинет по примерному адресу www.site.ru/emarket/personal/ зарегистрированного покупателя так, что бы добавить к полям с его персональной информацией (логин/пароль/e-mail и т.п.) ещё и его данные адреса доставки в таком же простом виде, как они и выглядят при оформлении заказа на странице заполнения данный полей с адресом доставки (город/улица\дом и т.п.)
И вот что я делаю - исходя из руководства: http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/internetmagazin/emarket_purchase/#xslt-templating
в файле шаблонизатора demodizzy ...\xslt\modules\users\registration.xsl в код  добавляю строку
<xsl:apply-templates select="document(concat('udata://data/getCreateForm/', $user-id))" /> :
 <xsl:template match="udata[@method = 'settings']">
        <table>
            <tr>
                <td valign="top" width="20%">
                    <xsl:apply-templates select="document(concat('udata://data/getEditForm/', $user-id))" mode="portrait" />
                </td>
                <td valign="top">                 
                    <form enctype="multipart/form-data" method="post" action="{$lang-prefix}/users/settings_do/" id="con_tab_profile" class="form-inline">
                        <div class="form-group-cabinet col-md-3 col-sm-6 col-xs-12">
                            <label>
                                <span>
                                    <xsl:text>&login;:</xsl:text>
                                </span>
                                <input type="text" name="login" disabled="disabled" value="{$user-info//property[@name = 'login']/value}" class="form-control" />
                            </label>
                        </div>
                        <div class="form-group-cabinet col-md-3 col-sm-6 col-xs-12">
                            <label>
                                <span>
                                    <xsl:text>&password;:</xsl:text>
                                </span>
                                <input type="password" name="password" class="form-control" />
                            </label>
                        </div>
                        <div class="form-group-cabinet col-md-3 col-sm-6 col-xs-12">
                            <label>
                                <span>
                                    <xsl:text>&password-confirm;:</xsl:text>
                                </span>
                                <input type="password" name="password_confirm" class="form-control" />
                            </label>
                        </div>
                        <div class="form-group-cabinet col-md-3 col-sm-6 col-xs-12">
                            <label>
                                <span>
                                    <xsl:text>&e-mail;:</xsl:text>
                                </span>
                                <input type="text" name="email" class="form-control" value="{$user-info//property[@name = 'e-mail']/value}" />
                            </label>
                        </div>
                        <div class="float1"/>
                        <xsl:apply-templates select="document(concat('udata://data/getEditForm/', $user-id))" />
                       
                        <xsl:apply-templates select="document(concat('udata://data/getCreateForm/', $user-id))" />

                        <div class="form-group col-md-12 col-sm-12 col-xs-12">
                            <input type="submit" class="btn btn-primary" value="&save-changes;" />
                        </div>
                    </form>             
                </td>
            </tr>
        </table>
    </xsl:template>

В результате добавилось одно только поле и то не то, что надо:

<label title="">
    <span>id статуса:</span>
    <input type="text" name="data[new][publish_status_id]" value="" class="form-control">
</label>

Подскажите, пожалуйста, что я пропустил ?

8
Здравствуйте!

Есть такая возможность в demodizzy как заказать через модальное окно в один клик товар из раздела или из подробного описания.
По умолчанию предлагается всплывающая форма "Быстрый заказ", где покупатель вводит свои данные (имя, почта и т.п) и заявка в виде заказа отправляется в соответствующий список заказов, которые видны в модуле "Интернет-Магазин".
В такой заявке видны и данные введённые пользователем и там же наименование товара с ценой.

Вопрос: добавить в модальное окно "Быстрый заказ" изображения товара из поля photo и его наименование из поля name,
то есть что бы покупатель видел сразу что он заказывает, особенно это нужно когда он из раздела с превью объектов нажимает на ссылку "Заказ в 1 клик".

И вот у меня два вариант решения:
1. Как-то вывести в файл \templates\demodizzy\xslt\modules\catalog\one-click.xsl данные о том товаре, который на данный момент заказывает покупатель.
2. Изменить адрес запроса в файле \templates\demodizzy\js\basket.js, при выполнении которого возвращаются данные для формы...

В общем я пока за первый вариант, так как JS не моё пока...

Что посоветуете?
 

9
Пытаюсь вывести сумму заказа на странице с уведомлением об успешном оформлении заказа.

После того как покупатель нажал на кнопку "Оформить заказ" ему загружается страница  www.domen/emarket/purchase/result/successful/
которая формируется из шаблона demodizzy ../modules/emarket/purchase.xsl

В ней для пользователя выводится номер заказа №10 по такому вызову:

    <xsl:template match="purchasing[@stage = 'result' and @step = 'successful']">
               <xsl:value-of select="document(concat('uobject://', //order/@id))/udata/object/@name" />
    </xsl:template>

я добавляю вызов для вывода общей стоимости оформленного заказа № 10 в этот шаблон

<xsl:apply-templates select="document(concat('uobject://', //order/@id))/udata/object/properties/group[@name = 'order_props']" mode="final_price" /

и обрабатываю его :

    <xsl:template match="field" mode="final_price"/>
    
    <xsl:template match="field[@name ='total_price']" mode="final_price">
        <xsl:value-of select="." />
    </xsl:template>

Но при этом выводятся все поля из группы 'order_props', в том числе и требуемая сумма заказа, когда как требуется только вывести данные из
<field name="total_price" title="Стоимость заказа" field_id="122" input_name="data[106620][total_price]" type="float" id="122">25950</field>
Что-то видно я не дорабатываю, а xml этого заказа из админки выглядит так:
<result xmlns:xlink="http://www.w3.org/TR/xlink" module="emarket" method="order_edit" lang="ru" lang-id="1" domain="tempbs.bikesalon.pixy.pro" domain-id="3" session-lifetime="600" system-build="22723" user-id="92834" interface-lang="ru" csrf="463a537881bc41103261441e65922c15" request-uri="/admin/emarket/order_edit/106620/.xml" edition="pro" disableTooManyChildsNotification="1" domain-floated="tempbs.bikesalon.pixy.pro">
<data type="form" action="modify">
<object id="106620" name="Заказ #85" type-id="50" type-guid="emarket-order" owner-id="0">
<properties>
<group name="order_props" title="Свойства заказа">
<field name="order_items" title="Наименования заказа" field_id="113" multiple="multiple" type-id="41" input_name="data[106620][order_items][]" type="relation" id="113">...</field>
<field name="number" title="Номер заказа" field_id="114" input_name="data[106620][number]" type="int" id="114">85</field>
<field name="social_order_id" title="Номер заказа в социальной сети" field_id="115" input_name="data[106620][social_order_id]" type="int" id="115"/>
<field name="yandex_order_id" title="Номер заказа в Яндекс.Маркет" field_id="116" input_name="data[106620][yandex_order_id]" type="int" id="116"/>
<field name="customer_id" title="Покупатель" field_id="117" type-id="51" input_name="data[106620][customer_id]" type="relation" id="117">...</field>
<field name="domain_id" title="Домен" field_id="118" input_name="data[106620][domain_id]" type="int" id="118">tempbs.bikesalon.pixy.pro</field>
<field name="manager_id" title="Ответственный менеджер" field_id="119" type-id="51" input_name="data[106620][manager_id]" type="relation" id="119">...</field>
<field name="status_id" title="Статус заказа" field_id="120" type-id="42" public-guide="1" input_name="data[106620][status_id]" type="relation" id="120">...</field>
<field name="total_original_price" title="Стоимость заказа без скидки" field_id="121" input_name="data[106620][total_original_price]" type="float" id="121">25950</field>
<field name="total_price" title="Стоимость заказа" field_id="122" input_name="data[106620][total_price]" type="float" id="122">25950</field>
<field name="total_amount" title="Количество товаров" field_id="123" input_name="data[106620][total_amount]" type="int" id="123">2</field>
<field name="status_change_date" title="Дата последнего изменения статуса заказа" tip="Выставляется автоматически, когда происходит изменение статуса заказа" field_id="124" timestamp="1414619049" formatted-date="30.10.2014 00:44" input_name="data[106620][status_change_date]" type="date" id="124">2014-10-30 00:44:09</field>
<field name="order_date" title="Дата оформления заказа" tip="Дата, когда заказ был оформлен покупателем" field_id="125" timestamp="1414619050" formatted-date="30.10.2014 00:44" input_name="data[106620][order_date]" type="date" id="125">2014-10-30 00:44:10</field>
</group>
<group name="order_credit_props" title="Свойства кредита">...</group>
<group name="statistic_info" title="Статистическая информация">...</group>
<group name="order_payment_props" title="Свойства оплаты заказа">...</group>
<group name="order_delivery_props" title="Свойства доставки заказа">...</group>
<group name="order_discount_props" title="Свойства скидки на заказ">...</group>
<group name="integration_date" title="Свойства для интеграции с 1С">...</group>
<group name="oneclick_props" title="Свойства Заказ в один клик">...</group>
<group name="purchase_one_click" title="Заказ в 1 клик">...</group>
</properties>
</object>
</data>
</result>

10
Есть ряд объектов каталога, которые имеют в своём типе данных  поле "Бренд" с типом "Выпадающий список" с перечнем наименований брендов, типа "adidas", "nike", "salomon" и т.п, которые, допустим сквозняком в футере сайта и требуется вывести в виде.
Сама же ссылка на отдельно взятый бренд должна ссылаться на раздел каталога, в коем выводятся все товары этого бренда подряд (и кроссовки и костюмы и т.п.).
Вот такая двухэтажная задачка со звёздочкой.

Вывести на сайте все элементы справочника "Бренд" пока не  удалось статическим общим списком, а удалось только на странице самого объекта каталога вывести наименование его бренда в отдельности так (вызов вставлен в футер):
<xsl:apply-templates select=".//group[@name = 'special']/property[@name = 'brend']/value/item" mode="brend_menu" />
и обработать его пока так:
      <xsl:template match="item" mode="brend_menu">
        <a href=""><xsl:value-of select="@name" /></a>
    </xsl:template>
и вот пока не получается придумать, как  эти статические наименования бренда, полученные из выпадающего списка преобразовать в ссылки, ведущие на страницы со своими разделами товаров.
Что посоветуете?
В первую очередь конечно требуется вывести сквозняком в футере сайта эти ссылки, а не только в самом объекте.
Скорее всего потребуется иной вызов элементов из выпадающего списка, как например такой:
<xsl:apply-templates select="document(concat('uobject://', .//group[@name = 'special']/property[@name='brend']/value/item))/udata" />
но и этот вариант пока ни чего не выдаёт- пишет "Ошибки: Не найдено"
  

11
Шаблоны XSLT / Пагинация в объекте каталога
« : 14 Октября 2014, 15:50:33 »
Здравствуйте!
Возможно ли без кастомных решений реализовать макрос, позволяющий в объекте каталога object-view,xsl (demodizzy) вывести пагинацию по типу "Предыдущий / Следующий товар" ?
Тот же вопрос можно и к новостям отнести, как что-то вроде "Читать следующую новость"

12
Здравствуйте!
Из  списка товаров раздела каталога по ссылке на превью вывожу сплывающее окно с подробным описанием объекта, то есть что бы пользователь экономил время на подробный просмотр товара без перехода на его страницу, оставаясь в разделе каталога.
(я подгружаю в сплывающее окно подробное описание объекта object-view-modal.xsl).
Всё получается, кроме одной детали - как вставить ссылку на страницу этого объекта в сплывающем окне ?

13
Здравствуйте!
Может быть уже кто-то сталкивался с таким вопросом, как вывод меню в разделе каталога включая в себя только подразделы этого раздела.

Суть такова:

Каталог (главный раздел)
  - Раздел 1А
   -- подРаздел 2А
    ---подРаздел 3А
     ---- Объект
  - Раздел 1б
   -- подРаздел 2б
    ---подРаздел 3б
     ---- Объект
  - Раздел 1в
   -- подРаздел 2в
    ---подРаздел 3в
     ---- Объект

так вот, надо что бы в Разделах с "А" показывались только те же разделы с "А" в меню, а другие "б" и "в" разделы в меню раздела "А" не выводились.

 Я попробовал такой вызов, где переменная $document-page-id сообщает в макрос меню "pageId" именно этого открытого раздела "А"

<xsl:variable name="document-page-id" select="/result/@pageId" />

 <xsl:apply-templates select="document('udata://content/menu/(null)/5/$document-page-id')/udata/items" mode="menu-catalog-center"/>

но всё равно выводятся все разделы в меню подряд.

Что посоветуете ?

14
Есть такой теперь модуль "Меню" в системе UMI, который удобный и простой для создания нескольких меню на сайте - допустим, что надо сделать четыре блока меню с ссылками на разные страницы и разделы сайта так ,что бы над каждым блоком был заголовок.

Информация для покупателей:  (заголовок меню)
 - Доставка и оплата (пункт меню)
 - Гарантия                 (пункт меню)
 - Новости                   (пункт меню)
 - Оплата и доставка (пункт меню)

Вопрос в том, как вывести заголовки для этих блоков меню из поля модуля "Название" ?

XML такой по запросу "udata://menu/draw/navisector1" выводится:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="menu" method="draw" generation-time="0.014646">
<item rel="page" id="641" is-active="1" is-deleted="0" link="/dostavka_i_oplata/" name="Доставка и оплата">Доставка и оплата</item>
<item rel="page" id="39704" is-active="1" is-deleted="0" link="/garantiya/" name="Гарантия">Гарантия</item>
<item rel="page" id="39730" is-active="1" is-deleted="0" link="/news/" name="Новости">Новости</item>
<item rel="page" id="642" is-active="1" is-deleted="0" link="/contacts/" name="Контакты">Контакты</item>
</udata>

15
Здравствуйте!
В шаблоне объекта каталога прописал вызов на тему форума (тип поля "Ссылка на дерево"):
<xsl:apply-templates select="document(concat('udata://forum/topic/notemplate/100/0', //property[@name = 'discussion_forum']/value/page/@id,'/void/100'))/udata"/>
результат в странице XML такие:
<group id="444" name="thematic_broadcast">
<title>Тематические трансляции</title>
<property id="468" name="discussion_forum" type="symlink">
<title>Обсуждение из форума</title>
<value>
<page id="1140" parentId="1139" link="http://domen.ru/conference/shumopodavlenie" is-active="1" object-id="2886" type-id="64" type-guid="forum-topic" update-time="1396254298" alt-name="shumopodavlenie" xlink:href="upage://1140">
<basetype id="36" module="forum" method="topic">Топик в форуме</basetype>
<name>Шумоподавление</name>
</page>
</value>
</property>
</group>

Однако сообщения выводится только форма для добавления сообщения на тему форума, а самих сообщений нет.

Думал, что сработает по аналогии успешного подключения таким же способом фотогалереи... но что-то видно не доглядел...

Да ещё вот важная деталь - проект мультидоменный и если тему форума перетащить в структуре в тот домен, в котором находиться этот объект каталога, то сообщения начинают выводиться... Но хотелось бы, что бы это не было принципиальным, опять-так для подключения к объекту каталога фотогалереи такой проблемки нет.

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