Использование события для публикации на нескольких языках / языках - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь подключиться к событию типа публикации страницы, чтобы я мог публиковать одну и ту же страницу на нескольких языковых сайтах одновременно, используя атрибуты страницы, чтобы выбрать, какие языки использовать.Приведенный ниже код работает без ошибок, но вместо создания дубликата страницы на целевом языке я просто получаю черновик новой страницы на языке оригинала.Что мне здесь не хватает?

Код

<?php

Events::addListener('on_page_type_publish',
function($event) {
    $page = $event->getPageObject();

    if ($page->getPageTypeHandle() == 'blog_entry') {

        $multilingualController = Core::make('\Concrete\Controller\Backend\Page\Multilingual');
        $multilingualController->setPageObject($page);

        $pageCollection = $page->getCollectionID();
        $pageSection = \Concrete\Core\Multilingual\Page\Section\Section::getBySectionOfSite($page);
        $pageLocaleText = $pageSection->getLanguageText();

        $targetLocale = \Concrete\Core\Multilingual\Page\Section\Section::getByLocale('nb_NO'); //Will be set from page attribute
        $targetLocaleCollection = $targetLocale->getCollectionID();

        $createNewData = array(
        'section' => $targetLocaleCollection,
        'cID' => $pageCollection
        );

        $action = $multilingualController->action('create_new', $createNewData);
        $theResult = $multilingualController->runAction($action, $createNewData);

    }
});
...