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

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

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


Сообщения - rellai

Страницы: 1 [2] 3 4
16
Не нашел может было где нить.
Как сделать возможность прикреплять к комментариям фотографии?
чтобы с загрузкой фотки на сайт

17
в общем заработало когда  mode у обоих прописал если убрать то перестает работать.
Спасибо большое за подсказку!!
а почему только с mode работает?

18
вот xml
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="getCreateForm" generation-time="0.011625">
<group name="personal" title="Персональные данные">
<field name="lname" title="Фамилия" field_id="180" input_name="data[new][lname]" type="string" id="180" required="required"/>
<field name="fname" title="Имя" tip="Это поле содержит Имя пользователя. Оно отображается в характеристиках пользователя и может быть изменено самим пользователем." field_id="181" input_name="data[new][fname]" type="string" id="181" required="required"/>
<field name="father_name" title="Отчество" field_id="182" input_name="data[new][father_name]" type="string" id="182"/>
<field name="email" title="E-mail" field_id="209" input_name="data[new][email]" type="string" id="209" required="required"/>
<field name="phone" title="Телефон" field_id="440" input_name="data[new][phone]" type="string" id="440" required="required"/>
</group>
</udata>

match не сработал

попробовал в вызове тоже применить
Цитировать
<xsl:apply-templates select="document('udata://data/getCreateForm/126')/udata[@method = 'getCreateForm']" />
все тож самое

19
Чего то не могу понять почему шаблон не применяется для этой формы:
пишу в шаблоне object.xsl
<xsl:apply-templates select="document('udata://data/getCreateForm/126')/udata" /> </xsl:template> 
и прописываю для него шаблон:
<xsl:variable name="customer-info" select="document(concat('uobject://', document('udata://users/auth')/udata/user_id))" />
<xsl:variable name="customer-email" select="$customer-info//group[@name = 'idetntify_data']/property[@name = 'e-mail']/value" />   

<xsl:template match="getCreateForm">
<div class="content">
<form class="buyer_data" enctype="multipart/form-data" method="post" action="/{udata/group/@lang}/emarket/getOneClickOrder/">
<xsl:apply-templates select="udata/group/field" />
</form>
</div>
</xsl:template>

<xsl:template match="field">
 
<div>
<label>
<xsl:if test="@required">
<xsl:attribute name="class">required</xsl:attribute>
</xsl:if>
<span>
<xsl:value-of select="@title" /><xsl:if test="@required"><xsl:text>*</xsl:text></xsl:if>:
</span>
<input type="text" class="textinputs" name="data[new][{@name}]">
<xsl:variable name="inputName" select="@name" />
<xsl:if test="@required">
<xsl:attribute name="required">required</xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="$customer-info//object/@type-guid = 'users-user' and $inputName = 'email'">
<xsl:attribute name="value"><xsl:value-of select="$customer-email"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="value"><xsl:value-of select="$customer-info//property[@name = $inputName]/value"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</input>
</label>
</div>
</xsl:template>

А он не применяется...понять не могу почему...
Может кто знает?


20
вот тут косяк
throw new publicException(getLabel('error-required_one_click_list') . $dataModule->assembleErrorFields($errors));
в $dataModule->assembleErrorFields($errors) - пусто

вот заполнение
	$dataModule = cmsController::getInstance()->getModule('data');
$errors = $dataModule->checkRequiredFields($form->getId());


Ура заменил папку в classes Data из тестового юми и все заработало....
всмысле вернуло правильную ошибку ))
Заказ не оформлен, потому что не были заполнены обязательные поля: Фамилия, Имя, E-mail, Телефон

21
Так понял немного:
Прописал лабел
'error-required_one_click_list'		=> 'Заказ не оформлен, потому что не были заполнены обязательные поля: ',
Теперь показывается более правильно но не отображается, какие именно поля не заполнены. в отличии от теста
<error>
Заказ не оформлен, потому что не были заполнены обязательные поля:
</error>

22
Я так понимаю загвоздка где то тут спрятана
      foreach ($emarketOneClick->getAllFields() as $field) {
            $value = $dataForm['new'][$field->getName()];
            $object->setValue($field->getName(), $value);
         }

23
Закоментировал(я вообще не понял зачем это надо...)
if ($errors !== true) {
throw new publicException(getLabel('error-required_one_click_list') . $dataModule->assembleErrorFields($errors));

И все стало немного лучше, но не до конца, почему то вот такой результат выдает
<?xml version="1.0" encoding="utf-8"?><result xmlns:xlink="http://www.w3.org/TR/xlink">
<data><error code="0" type="valueRequiredException">Поле "Фамилия" обязательно должно быть заполнено</error><backtrace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace><trace>Array</trace></backtrace></data>
</result>

24
когда поля не заполнены на тестовом сайте пишет
<error>
Заказ не оформлен, потому что не были заполнены обязательные поля: Фамилия, Имя, E-mail, Телефон
</error>
а у меня
<error>error-required_one_click_list</error>

Данные получаю по одинаковой ссылке
/ru/emarket/getOneClickOrder/element/57.xml
только ид отличается естественно

25
А дальше что делать?

26
Точно! сработало:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="getCreateForm" generation-time="0.008884">
<group name="personal" title="Персональные данные">
<field name="lname" title="Фамилия" field_id="180" input_name="data[new][lname]" type="string" id="180" required="required"/>
<field name="fname" title="Имя" tip="Это поле содержит Имя пользователя. Оно отображается в характеристиках пользователя и может быть изменено самим пользователем." field_id="181" input_name="data[new][fname]" type="string" id="181" required="required"/>
<field name="father_name" title="Отчество" field_id="182" input_name="data[new][father_name]" type="string" id="182"/>
<field name="email" title="E-mail" field_id="209" input_name="data[new][email]" type="string" id="209" required="required"/>
<field name="phone" title="Телефон" field_id="440" input_name="data[new][phone]" type="string" id="440" required="required"/>
</group>
</udata>

27
а как проверить есть ли данные для формы?
я делаю так .....ru/uobject/data/getCreateForm/126(идешник этого типа)/

он мне говорит
<error code="not-found">Не найдено</error>

Или я туплю?

28
не совсем.
На тестовом
если перейти по ссылке /ru/emarket/getOneClickOrder/element/57.xml
то он в xml файле говорит:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="emarket" method="getOneClickOrder" generation-time="0.022824">
<error>
Заказ не оформлен, потому что не были заполнены обязательные поля: Фамилия, Имя, E-mail, Телефон
</error>
</udata>

Если перейти по подобной ссылке том сайте где пытаюсь сделать то вот вывод:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="emarket" method="getOneClickOrder" generation-time="0.009424">
<error>error-required_one_click_list</error>
</udata>

А когда тип не был определен то он спотыкался на этой строчке:
$form = $types->getTypeByGUID('emarket-purchase-oneclick');

29
Сделал как вы сказали
ошибка та же:
error-required_one_click_list


30
Да я переношу с одного сайта на другой.
оба с тестовой лицензицей, тот с которого я переношу со стандартным шаблоном. тот на который переношу с нестандартным шаблоном. практически с нуля писаный.
Да я скопировал на данный момент методы класса пока только. ну и тип добавил в базу новый

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