Ich freue mich, dass das October CMS kürzlich Backend-Funktionalität zum Sortieren von Datensätzen in der Listenansicht hinzugefügt hat. Aber ich habe Probleme, es zum Laufen zu bringen. Die Dokumentation ist here. Ich habe die Richtung wie so folgt:October CMS - Sortieren von Datensätzen - Beispiel für die teilweise für die Symbolleiste Symbole?
In meinem Controller, ich implementiert, um die ReorderController:
<?PHP namespace BTruchan\Team\Controllers;
use Backend;
use BackendMenu;
use BackendAuth;
use Backend\Classes\Controller;
use System\Classes\SettingsManager;
class Members extends \Backend\Classes\Controller
{
public $implement = [
'Backend.Behaviors.FormController',
'Backend.Behaviors.ListController',
'Backend.Behaviors.ReorderController'
];
public $formConfig = 'config_form.yaml';
public $listConfig = 'config_list.yaml';
public $reorderConfig = 'config_reorder.yaml';
public $requiredPermissions = ['btruchan.team.manage'];
public function __construct()
{
parent::__construct();
BackendMenu::setContext('BTruchan.Team', 'team');
}
public function index()
{
$this->makeLists();
$this->makeView('reorder');
}
}
?>
ich die Neuordnungs View-Datei erstellt haben (reorder.htm), die enthält:
<?= $this->reorderRender() ?>
Meine config_reorder.yaml Datei enthält:
# ===================================
# Reorder Behavior Config
# ===================================
# Reorder Title
title: Reorder Members
# Attribute name
nameFrom: name
# Model Class name
modelClass: BTruchan\Team\Models\Members
# Toolbar widget configuration
#toolbar:
# Partial for toolbar buttons
# buttons: reorder_toolbar
Sie, dass die reorder_toolb auffallen wird, ar partially ist auskommentiert. Das ist, weil ich wirklich nicht weiß, was in dieser Symbolleiste gehen soll. Ich konnte keine Dokumentation finden, die den Inhalt der _reorder_toolbar.htm-Datei anzeigt.
Wenig überraschend, mit dem Code auf Kommentar, wirft er einen Fehler:
Undefined variable: reorderToolbarWidget
=== === aktualisiert
Ich habe einige zusätzliche Informationen. Es wurde vorgeschlagen, dass ich hier auf Liste Symbolleiste nachlesen: https://octobercms.com/docs/backend/lists#adding-toolbar
So habe ich die folgenden Symbolleiste Teil (benannt _reorder_toolbar.htm):
<div data-control="toolbar">
<a
href="<?= Backend::url('btruchan/team/members/create') ?>"
class="btn btn-primary oc-icon-plus">
New Team Member
</a>
<button
class="btn btn-default oc-icon-trash-o"
disabled="disabled"
onclick="$(this).data('request-data', {
checked: $('.control-list').listWidget('getChecked')
})"
data-request="onDelete"
data-request-confirm="Delete Team Member: Are you sure?"
data-trigger-action="enable"
data-trigger=".control-list input[type=checkbox]"
data-trigger-condition="checked"
data-request-success="$(this).prop('disabled', false)"
data-stripe-load-indicator>
Delete
</button>
</div>
Aber ich bin immer noch einen Fehler bekommen:
Undefined variable: reorderToolbarWidget /var/www/terrasearch/public/modules/backend/Behaviors/reordercontroller/partials/_container.htm line 1
Der Code, der im Oktober CMS, das die Fehlermeldung bezieht, ist:
<?php if ($reorderToolbarWidget): ?>
<!-- Reorder Toolbar -->
<div id="<?= $this->getId('reorderToolbar') ?>" class="reorder-toolbar">
<?= $reorderToolbarWidget->render() ?>
</div>
<?php endif ?>
<!-- Reorder List -->
<?= Form::open() ?>
<div
id="reorderTreeList"
class="control-treelist"
data-control="treelist"
Ich habe versucht, diesen Fehler zu verfolgen. Es sieht so aus, als ob in \ public \ modules \ backend \ behaviours \ ReorderController.php die Funktion reorder() nicht aufgerufen wird, was bedeutet, dass die Funktion prepareVars() ebenfalls nicht aufgerufen wird. Dies verhindert, dass Sie den folgenden Code aus ausgeführt werden:
$this->vars['reorderToolbarWidget'] = $this->toolbarWidget;
ReorderController.php :: makeToolbarWidget() aufgerufen wird, und scheint in Ordnung zu sein. Ich habe $ this-> toolbarWidget überprüft, und es scheint sehr gute Daten zu enthalten. (Es ist nicht NULL).
Jede Hilfe würde sehr geschätzt werden.
Ich bin mir nicht sicher, was Sie tun möchten. Wofür wird das ToolbarWidget verwendet? In den Dokumenten heißt es, dass die Datei der Neuordnung "reorder.htm" heißen muss. [hier] (https://octocommcms.com/docs/backend/reorder#reorder-display) –