Concrete5 Block – Code ausführen

db.xml

db.xml enthält die Datenbank Definition in einem XML Format. Genauer gesagt im ADODB XML Format. Eine vollständige Beschreibung findet man auf dieser Seite:

http://phplens.com/lens/adodb/docs-datadict.htm#xmlschema

1
2
3
4
5
6
7
8
9
10
11
<strong>Script</strong>
<select name="script">
<?php
$scripts = $controller->getScripts();
foreach ($scripts as $script_) {
?>
   <option<?php if ($script_ == $script) echo ' selected';?>><?php echo $script_;?></option>
<?php
}
?>
</select>

Wir nennen unsere Tabelle btPhpExecute. Für unseren Block sind lediglich zwei Felder erforderlich:

  • bID – Die Referenz zur Block Instanz
  • script – Der Name des auszuführenden Scripts

Das praktische an dieser Art von Datenmodell Beschreibung ist, dass man nicht nur Tabellen automatisch anlegen kann, sondern auch aktualisieren. Wollen wir ein einzelnen Feld hinzufügen, so können wir dies tun, gehen im C5 Dashboard auf “Add Functionality” und öffnen unseren Block, dort noch auf “Refresh” klicken und schon haben wir die neue Spalte in unserer Tabelle, ohne den bestehenden Inhalt zu verloren zu haben!




Seguir leyendo: 1, 2, 3, 4, 5, 6, 7


7 Comments

Hi!

Du, ich bekomme hier leider folgende Fehlermeldung wenn ich den Block hinzufüge und danach die Änderungen speichern will.

Ich benutze Concrete 5.3.3.1

Kannst du mir da eventuell helfen?

Fatal error: method_exists() [function.method-exists]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "PhpExecuteBlockController" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /www/htdocs/concrete/libraries/database_indexed_search.php on line 135

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *