2017-06-09 2 views
0

Könnten Sie mir bitte sagen, wie Sie Seiten veröffentlichen, nachdem Sie in der cocrete5 cms-Version 5.8.1.0 auf den Bearbeitungsschaltflächenmodus (links oben) geklickt haben? Ich kann keine Seite veröffentlichen, indem ich auf die Bearbeitungsschaltfläche oben links klicke, sie bearbeite und erneut auf Bearbeiten klicke. Änderungen veröffentlichen Schaltfläche ist deaktiviert und es gibt eine Meldung: "Das Feld Seiten-Thumbnail ist erforderlich." Aber ich kann mit verfassen Menü (neben Bearbeiten in der linken oberen Ecke) veröffentlichen. Was ist die Ursache für dieses Problem? Ist es konkret5 Bug?kann keine Seite im Bearbeitungsmodus veröffentlichen

Es sieht so aus, als ob es erlaubt zu veröffentlichen, wenn ich Linien in der Suche nach publicinh Methode auskommentieren. Aber ich kann die Ursache des Problems und wie ich es beheben kann, immer noch nicht verstehen.

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; 
    } 

Antwort

0

Der Fehler sagt alles? 'Das Feld Seitenvorschau ist erforderlich.' Hast du tatsächlich ein Thumbnail hinzugefügt? Grundsätzlich können Sie kein Formular senden, ohne alle erforderlichen Felder auszufüllen.

Oder haben Sie und immer noch den Fehler?

+0

Soweit ich es beurteilen kann, ist Miniatur. Ich kann keine Seite im Bearbeitungsmodus veröffentlichen, aber ich kann auf der Composer-Seite veröffentlichen. – Oleg

0

Ich konnte das Problem übergeordnete Datei lösen:

<?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; 
    } 
} 
Verwandte Themen