не может опубликовать любую страницу в режиме редактирования

Не могли бы вы рассказать, как публиковать страницы после нажатия кнопки редактирования (в левом верхнем меню) в режиме Cocrete5 CMS версии 5.8.1.0 без использования кнопки «Создать»?
Я не могу опубликовать какую-либо страницу, нажав кнопку редактирования в верхнем левом углу, отредактировав ее и снова нажав кнопку редактирования.
Кнопка «Опубликовать изменения» отключена, и появляется сообщение:
«Поле Эскиз страницы требуется.» Но я могу опубликовать с помощью меню «Создать» (рядом с правкой в ​​левом верхнем углу).
В чем причина этой проблемы? Это конкретная ошибка?

Похоже, что это позволяет публиковать, если я закомментирую строки в проверке на метод publishinh. Но я до сих пор не могу понять причину проблемы и как ее исправить.

class CheckIn extends BackendInterfacePageController
{
protected $viewPath = '/panels/page/check_in';
// we need this extra because this controller gets called by another page
// and that page needs to know how to submit it.
protected $controllerActionPath = '/ccm/system/panels/page/check_in';

public function canAccess()
{
return $this->permissions->canApprovePageVersions() || $this->permissions->canEditPageContents();
}

public function on_start()
{
parent::on_start();
if ($this->page) {
$v = CollectionVersion::get($this->page, "RECENT");

$this->set('publishDate', $v->getPublishDate());
$this->set('publishErrors', $this->checkForPublishing());
}
}

protected function checkForPublishing()
{
$c = $this->page;
// verify this page type has all the items necessary to be approved.
$e = Loader::helper('validation/error');
if ($c->isPageDraft()) {
if (!$c->getPageDraftTargetParentPageID()) {
$e->add(t('You haven\'t chosen where to publish this page.'));
}
}
$pagetype = $c->getPageTypeObject();
//        if (is_object($pagetype)) {
//            $validator = $pagetype->getPageTypeValidatorObject();
//            $e->add($validator->validatePublishDraftRequest($c));
//        }

if ($c->isPageDraft() && !$e->has()) {
$targetParentID = $c->getPageDraftTargetParentPageID();
if ($targetParentID) {
$tp = Page::getByID($targetParentID, 'ACTIVE');
$pp = new Permissions($tp);
if (!is_object($tp) || $tp->isError()) {
$e->add(t('Invalid target page.'));
} else {
if (!$pp->canAddSubCollection($pagetype)) {
$e->add(
t(
'You do not have permissions to add a page of this type in the selected location.'
)
);
}
}
}
}

return $e;
}

0

Решение

Ошибка говорит обо всем? ‘Поле Эскиз страницы обязательно.’ Вы действительно добавили миниатюру?
По сути, вы не можете отправить форму, не заполнив все необходимые поля.

Или ты все еще получил ошибку?

0

Другие решения

Я мог решить проблему с переопределением файла:

<?php
namespace Application\Attribute\ImageFile;

use Loader;
use Core;

class Controller extends \Concrete\Attribute\ImageFile\Controller
{
public function validateValue()
{
$f = $this->getAttributeValue()->getValue();

if (is_object($f)) {
return true;
}

$e = Core::make('helper/validation/error');
$e->add(t('You must specify a valid file for %s', $this->attributeKey->getAttributeKeyDisplayName()));

return $e;
}
}
0

По вопросам рекламы [email protected]