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

0 Пользователей и 1 Гость просматривают эту тему.

*

Veinard

  • *
  • 30
  • +0/-0
    • Просмотр профиля
При попытке редактировать основное описание открывается редактор, все как положено.
После завершения редактирования и попытки "сохранить" получаю ошибку "поле не найдено: "description".
Причем, если из админки наполнить поле - то заполнение отображается. И даже возможность редактирования появляется, но редактор "глючит" и не позволяет адекватно работать с полем. Но в этом случае даже сохранение срабатывает.

Обработчик поле "описание"
	
<xsl:template match="property[@name = '&property-description;']">
<div class="descr" itemprop="description">
<div umi:element-id="{../../../@id}" umi:field-name="{@name}" umi:empty="&item-description;">
<xsl:value-of select="value" disable-output-escaping="yes" />
</div>
</div>
</xsl:template>

<xsl:template match="property[@name = '&property-description;' and value = '']">
<div class="descr" itemprop="description">
<div umi:element-id="{../../../@id}" umi:field-name="{@name}" umi:empty="&item-description;">

</div>
</div>
</xsl:template>

и его вызов
				<div class="text" id="description_{$site-info-id}_{generate-id()}" umi:element-id="{$site-info-id}" umi:field-name="description" umi:field-type="wysiwyg" umi:empty="&empty-page-content;">
<xsl:apply-templates select=".//property[@name = '&property-description;']" />
</div>
<!--Конец-->

Другие поля редактируются адекватно.
Вот не пойму в чем тут засада =(

*

ilyar

Посмотри внимательно итоговый html, что бы edit-in-place работало корректно, надо наличие атрибутов umi:element-id="11" umi:field-name="description" в теге, где 11 - ID страницы.

Еще обрати внимание на то, что наличие атрибута umi:element-id не посредственно в теге не обязательно, это атрибут  достаточно указать один раз в родительском теге в котором находятся редактируемые поля страницы.

*

Veinard

  • *
  • 30
  • +0/-0
    • Просмотр профиля
Ура, все получилось, спасибо =)

Вместо
<div class="text" id="description_{$site-info-id}_{generate-id()}" umi:element-id="{$site-info-id}" umi:field-name="description" umi:field-type="wysiwyg" umi:empty="&empty-page-content;">

Надо было
<div class="text" id="description_{page/@id}_{generate-id()}" umi:element-id="{page/@id}" umi:field-name="description" umi:field-type="wysiwyg" umi:empty="&empty-page-content;">