2017-06-09 126 views
0

您可以告訴我如何在cocrete5 cms版本5.8.1.0中點擊編輯按鈕(左上方菜單)模式之後發佈頁面而不使用撰寫按鈕嗎? 我無法發佈任何頁面點擊左上角的編輯按鈕,編輯它並再次點擊編輯按鈕。 「發佈更改」按鈕已禁用,並且存在消息: 「字段頁面縮略圖是必需的。」 但我可以使用撰寫菜單進行發佈(在左上角編輯旁邊)。 這個問題的原因是什麼?是具體的5錯誤嗎?無法在編輯模式下發布任何頁面

它看起來像允許發佈,如果我註釋行檢查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

據我判斷有縮略圖。我無法在編輯模式下發布任何頁面,但我可以在作曲家頁面上發佈。 – Oleg

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; 
    } 
} 
相關問題