Как запустить событие oncheckload ed для языковых флажков в форме публикации sitecore
Мы работаем в версии Sitecore 7.1, и у нас есть несколько целей публикации и несколько языков. Что нам нужно сделать, это когда китайский язык выбран для любого элемента на момент публикации, тогда цель публикации для Китая (скажем, Интернет-Китай) должна быть выбирается автоматически, и когда пользователь выбирает любой другой язык, то автоматически выбирается общая цель публикации для всех других языков (например, Интернет).
Таким образом, в основном нам нужно запустить событие oncheckarded для всех языков, отображаемых в форме публикации на момент публикации.
может ли кто-нибудь помочь нам достичь этого, было бы здорово. Спасибо капил
1 ответ
Проверьте \sitecore\shell\Applications\Dialogs\Publish\Publish.js
файл. Он уже содержит код для проверки или отмены All Languages
флажок при нажатии на конкретный язык флажок и наоборот. Вам просто нужно добавить свой код там.
Я предполагаю, что вам нужно будет жестко закодировать селектор для китайского языка и для цели Internet-China.
РЕДАКТИРОВАТЬ
Похоже, файл, который я упоминал выше, был добавлен в версии 7.2. Вы можете создать его самостоятельно в 7.1. Просто в Publish.xml
добавить 2 строки скриптов:
<WizardForm CodeBeside="Sitecore.Shell.Applications.Dialogs.Publish.PublishForm,Sitecore.Client">
<Script Src="/sitecore/shell/Controls/Lib/jQuery/jQuery.noconflict.js"></Script>
<Script Src="/sitecore/shell/Applications/Dialogs/Publish/Publish.js"></Script>
И создать упомянутое publish.js
файл
jQuery(document).ready(function ($) {
$('#Languages').find(':checkbox').click(function () {
// if checkbox is checked and its value is Chinese id, select Internet-China target
// if checkbox is checked and its value is not Chinese id, select Internet target
});
});