Plugins installieren

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Plugins installieren

Beitrag von rethus »

Ich möchte an dieser Stelle den Thread aus dem Forum 4.4.x für die Version 4.6.x fortsetzen, damit dieser an richtiger Stelle Platziert ist.

Der Thread aus 4.4.x:
http://www.contenido.org/forum/viewtopic.php?t=2844

Bitte zur Version 4.6.x hier in dem vorliegenden Thread weiter antworten.

Dazu meine Frage an emergence:

Also aktuell nutze ich die Version 4.6.15.
Ich habe gesehen, das "plugin-interface-contenido-4.5.2.zip" in deinem Filesordner die letzte Version ist. Muss ich die für Contenido 4.6.15 auch installieren, oder sind die Änderungen mittlerweile schon im Contenido-System drin?

PS: Ist die Planung des Installers als Plugin noch aktuell? Wie gehts vorran? Kann man helfen?

Oder ist das plugin-interface sogar der Plugin-Installer?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Also aktuell nutze ich die Version 4.6.15.
Ich habe gesehen, das "plugin-interface-contenido-4.5.2.zip" in deinem Filesordner die letzte Version ist. Muss ich die für Contenido 4.6.15 auch installieren, oder sind die Änderungen mittlerweile schon im Contenido-System drin?
-> http://www.contenido.org/forum/viewtopi ... 8854#38854
d.h seit der 4.6.0 ist das plugin interface offizieller bestandteil des contenido core
man muss bei der 4.6.x serie kein plugin interface mehr installieren
Ist die Planung des Installers als Plugin noch aktuell?
Wie gehts vorran?
Kann man helfen?
nein, nicht wirklich..
momentan gar nicht...
auch nicht wirklich...
Oder ist das plugin-interface sogar der Plugin-Installer?
nein,
der plugin installer hat mit dem plugin interface nichts zu tun...

der plugin installer ist der versuch gewesen eine möglichst einfache integration ins backend von contenido vorzunehmen...
wenn man sich an das hello_world plugin hält sollte man ohne größere schwierigkeiten einen weiteren menüpunkt innerhalb von contenido hinzufügen können...

ohne das teil und ohne die vorlage muss man ziemlich gute kenntnisse über den aufbau haben und wie contenido die daten benötigt...
das in schriftlicher form zu beschreiben sprengt aber meinen zeitrahmen...
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Also super finde ich schon mal, das es Bestandteil der aktuellen Version ist.
Damit ich die Funktionsweise verstehe werde ich mich jetzt mal detailliert in das Hello_World-Plugin einarbeiten.

Bitte lasst den Thread noch offen, falls Fragen bei der Einarbeitung entstehen.

Danke.
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Und da hab ich schon eine Frage:

In der install.sql steht folgendes:
INSERT INTO !PREFIX!_area VALUES ('!PID!00', '0', 'hello_world', '1', '1');
# if you use menuless batch
INSERT INTO !PREFIX!_area VALUES ('!PID!00', '0', 'hello_world', '1', '1', '0');
Muss ich hier eins der beiden Statements auskommentieren? Wer oder was ist dieser menuless_batch ?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

rethus hat geschrieben:Muss ich hier eins der beiden Statements auskommentieren?
nein, ist nicht notwendig... es tritt zwar eine sql fehlermeldung auf, aber die kann man ignorieren...
plugins die auch in einer 4.4.x serie laufen würden benötigen bei der installation die erste zeile
die zweite wird benötigt bei der 4.6.x serie bzw wenn jemand händisch den patch in der 4.4.x eingebaut hat...
rethus hat geschrieben:Wer oder was ist dieser menuless_batch ?
-> http://contenido.org/forum/viewtopic.php?t=5014
(ist ebenfalls schon bestandteil des contenido core...)
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Also das hello_word-Plugin lässt sich installieren, aber mein eigenes lässt sich nicht installieren... also es erscheint unter extras kein Menüeintrag.

Ich habe aber alles Schritt für Schritt mit dem hello_world-Plugin abgeglichen.

Kann mir jemand sagen, welche Schritte (z.B. aus DB-Sicht) nötig sind, damit der Menüeintrag in dem Menü erscheint?

Hier mal meine Dateien:
config.plugins.php

Code: Alles auswählen

<?php
/******************************************************************************
Description : Branchenbuch v0.0.1
Author      : Samuel Suther (info@suther.de)
Urls        : http://www.suther.de
Create date : 2007-07-08
Modified    : 2007-07-08
Remarks     : For contenido-plugins only!!!
              $cfg[$client] vars are not available here
*******************************************************************************/

/* Section 1: Fixed path settings
 * ----------------------------------
 *
 * Defines fixed path variables for various sub-directories,
 * and compatibility pathes. Modify them on your own risk!
 */

$plugin_name = "branchenbuch";
$cfg['plugins']['branchenbuch'] = $cfg['path']['plugins'].$plugin_name."/";


/* Section 2: Template Files
 * ----------------------------------
 *
 * Defines the files for different templates
 */

$cfg['templates']['branchenbuch_left_top']  = 'template.branchenbuch_left_top.html';
$cfg['templates']['branchenbuch_menu']      = 'template.branchenbuch_menu.html';
$cfg['templates']['branchenbuch_edit']      = 'template.branchenbuch_edit.html';


/* Section 3: Table Settings
 * ----------------------------------
 *
 * Defines the settings for db query strings
 */

$cfg["tab"]["branchenbuch"]				= $cfg['sql']['sqlprefix']."_branchenbuch";
$cfg["tab"]["branchenbuchdata"]				= $cfg['sql']['sqlprefix']."_branchenbuch_data";
$cfg["tab"]["branchenbuchdate"]				= $cfg['sql']['sqlprefix']."_branchenbuch_date";
$cfg["tab"]["branchenbuchdate"]				= $cfg['sql']['sqlprefix']."_branche_kat";
$cfg["tab"]["branchenbuchdate"]				= $cfg['sql']['sqlprefix']."_branche_lookup";


/* Section 4: Language Strings
 * ----------------------------------
 *
 * Defines the i18n strings for the area/actions
 */

$lngAct["branchenbuch"]["use_me"] = i18n("Defined in config_plugin.php", $plugin_name);

// clean up unused variables

unset ($plugin_name);
?>
lang_de_DE.xml

Code: Alles auswählen

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Contenido XML language file -->
<language>
    <navigation>
        <extra>
            <branchenbuch>Branchenbuch</branchenbuch>
        </extra>
    </navigation>
</language>
Datenbank-Einträge:

_area:
Bild

_files:
Bild

_frame_files:
Bild

_nav_sub:
Bild

_plugins:
Bild

_sequence:
Bild
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

die idarea bei nav_sub ist falsch -> müsste 10200 sein und nicht 10201
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Super, vielen Dank, das war das Problem.
Also habe ich einen Dreher im install.sql-Fiel gehabt.

Was mich jetzt noch brennend interessiert ist, was genau in der Tabelle _frame_files festgehalten wird:

Code: Alles auswählen

INSERT INTO !PREFIX!_frame_files VALUES ('!PID!01', '!PID!00', '4', '!PID!01');
INSERT INTO !PREFIX!_frame_files VALUES ('!PID!02', '!PID!00', '1', '!PID!02');
INSERT INTO !PREFIX!_frame_files VALUES ('!PID!03', '!PID!00', '2', '!PID!03');
INSERT INTO !PREFIX!_frame_files VALUES ('!PID!04', '!PID!00', '3', '!PID!04');
Was ich mir vorstellen könnte: Die Tabelle _files enthält die verknüpfungen zu den templates, und die tabelle _frame_files ordnet die jeweiligen Templates dann entsprechenden FRames zu.

Ist das richtig so?

Aber welche Zuordnung wird hier erstellt bzw. wo sind die Frames 1,2,3,4?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

rethus hat geschrieben:Ist das richtig so?
ja, das ist korrekt...
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

supi, dann hab ich es geschnallt.

In der Tabelle _nav_sub ist der Wert für die Spalte idnavm auf 3 gesetzt. Was bedeutet das?

Hab ich die Möglichkeit noch eine 3. Navigatioinsebene einzubauen?

Beispiel:

Code: Alles auswählen

extras
   >> Branchenbuch
         >> Eintrag hinzufügen
         >> Eintrag bearbeiten
         >> Kategorie hinzufügen
         >> Kategorie bearbeiten
PS: Wie bekomme ich die Navigation so hin wie im Newsletter (oben die Knöfe, und unten mit den auf und zu klappbaren Bereichen)? Gibt es dafür Contenidoeigene Funktionen?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hmm...
rethus hat geschrieben:In der Tabelle _nav_sub ist der Wert für die Spalte idnavm auf 3 gesetzt. Was bedeutet das?
siehe db tabelle _nav_main => 3 = Extras
rethus hat geschrieben:Hab ich die Möglichkeit noch eine 3. Navigatioinsebene einzubauen?
ich wüsste keinen grund warum das nicht gehen sollte...
sieh dir die contenido eigenen dateien an, wie sowas gemacht wird...
rethus hat geschrieben:Wie bekomme ich die Navigation so hin wie im Newsletter (oben die Knöfe, und unten mit den auf und zu klappbaren Bereichen)? Gibt es dafür Contenidoeigene Funktionen?
sieh dir die newsletter/frontenduser dateien an...
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Ok, ich blick mehr und mehr durch :lol:
Danke für die stetige Hilfe.

Im der Navigationsdatei für den Newsletter hab ich folgende Funktionen gefunden, die in in /conlib/perm.inc wiedergefunden habe

Code: Alles auswählen

function have_perm_area_action_anyitem($area, $action = 0)
	{

		if ($this->have_perm_area_action($area, $action))
		{
			return true;
		}

		$area = $this->getIDForArea($area);
		$action = $this->getIDForAction($action);

		global $item_rights;

		if (isset ($item_rights[$area][$action]))
		{
			return true;
		} else
		{
			return false;
		}

	}
Kann mir jemand Umgangssprachlich sagen, was genau der Aufruf dieser Funktion bewirkt?
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Sie prüft, ob ein Nutzer ein Recht für einen Bereich ($area) hat. Optional, ob er ein Recht für eine bestimmte Aktion für einen bestimmten Bereich hat ($area + $action > 0).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Supi, danke.
Funktionieren tut die Plugininstallation ja jetzt, aber ich versteh noch nicht ganz, wofür die Tabelle _sequence da ist.

Konnte es auch leider nicht aus der DB-Umgebung herleiten.
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Sie enthält die letzte verwendete ID jeder Tabelle.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt