Как запустить событие 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
    });
});
Другие вопросы по тегам