Forum

admin- menu- Hack- Probleme



 
Neues Thema eröffnen   Neue Antwort erstellen    REDAXO Forum Foren-Übersicht -> AddOns [R3]
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
fwolfste



Anmeldedatum: 17.07.2006
Beiträge: 11
Wohnort: Osnabrueck Germany

BeitragVerfasst am: Mi Nov 01, 2006 12:26 pm
Titel: admin- menu- Hack- Probleme
Antworten mit Zitat
Hi
Ich bastel an einem Addon, was die Addon-Idee vergewaltigen soll, und zwar folgendermassen:
In der "Menü"-Leiste (top) des Admin-Bereiches werden ja auf Wunsch Links zu den Seiten der installierten Addons platziert.
Anstelle eines Links zu meinem Addon will ich dort ein Auswahlmenü haben, in dem ich die Artikel und Categorien sehe und per klick direkt auf die Editier-Seiten komme.
Dort ein Auswahlmenü zu haben ist kein Probelm:
einfach in der config_inc.php des Addons
Code:
$REX['ADDON']['name'][$mypage] = '<select><option>select cat/art</option></select>';

stehen haben.

Was aber ein Problem fuer mich ist, ist eine Liste der Kategorien zu erzeugen. Sollte so funktionieren:
Code:

include $REX['INCLUDE_PATH']."/functions/function_rex_category.inc.php";
$cat = OOCategory::getCategoryById(0);
$cats = $cat->getChildren();

$cat_option_list = "";

if (is_array($cats)) {
   foreach ($cats as $cat) {

   $catId         = $cat->getId();
   $catName      = $cat->getName();

    $cat_option_list = $cat_option_list.'<option>'.$cat->getName().'</option>';
   
   }
}


Die erste Zeile führt jedoch schon zum Abbruch, allerdings nur in der config.inc.php, ansonsten klappt das wunderbar. Warum?
Spaeter wollte ich dann diese Liste als Link-namen fuers Menu setzen (wie oben):
Code:
$REX['ADDON']['name'][$mypage] = 'select><option>select cat/art</option>'.$cat_option_list.'</select>';

Und wie lang duerfte der String ueberhaupt werden?

Ich weiss, es ist wieder nur ein total dreckiger Hack, waere eine praktische Sache fuer mich, da sich einige Artikel in Unter-Unter-...-Kategorien befinden. Vielleicht begnuege ich mich auch erstmal mit soetwas wie "letzen Artikel bearbeiten" oder so.

However, thanks a lot
Felix
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dr KillerJoe



Anmeldedatum: 24.11.2005
Beiträge: 1729

BeitragVerfasst am: Mi Nov 01, 2006 12:57 pm
Titel:
Antworten mit Zitat
Ein anderer Denkansatz wäre vielleicht die Linkmap zu öffnen und dort sind dann ja auch alle Artikel zu sehen... wäre nur ein klick mehr als bei Deiner Idee Wink

mfg
Flo
_________________
Die Doku und Wiki sind Deine Freunde!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger ICQ-Nummer
Markus.Staab
Entwickler


Anmeldedatum: 29.01.2005
Beiträge: 9516
Wohnort: Aschaffenburg/Germany

BeitragVerfasst am: Mi Nov 01, 2006 2:22 pm
Titel:
Antworten mit Zitat
Hi,

ich vermute mehrere Fehler in deinem Code:

a) warum includest du an dieser Stelle die Funktion? (Ist das notwendig / habe nichts getestet...)
b) anstatt OOCategory::getCategoryById(0) -> OOCategory::getRootCategories()

Allerdings gibt es bereits Addons, die sowas für dich erledigen..
Allerdings wird dieser Select dann nur in der Strukturverwaltung eingebunden, nicht im "Hauptmenu" von REDAXO.

Gruß,
Markus
_________________
Mein Wunschzettel..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen ICQ-Nummer
fwolfste



Anmeldedatum: 17.07.2006
Beiträge: 11
Wohnort: Osnabrueck Germany

BeitragVerfasst am: Mi Nov 01, 2006 2:35 pm
Titel:
Antworten mit Zitat
Hey Markus und auch Flo,
danke fuer eure fixen und guten Antworten.

kills hat Folgendes geschrieben:
Hi,
a) warum includest du an dieser Stelle die Funktion? (Ist das notwendig / habe nichts getestet...)
b) anstatt OOCategory::getCategoryById(0) -> OOCategory::getRootCategories()


zu a) es funktioniert weder mit noch ohne den include (wenn ich mich richtig erinnere funktionierte es an anderer Stelle _nicht_ ohne). Vielleicht fehlen an der Stelle aber auch einfach _andere_ includes (werde ich morgen mal nachschauen)

zu b) Wohl wahr, "copy'n'paste ohne API- Kenntnis" ist wohl die Antwort. Danke fuer den Vorschlag, wird sofort jemacht Smile .

Ich schaue mich nach anderen Loesungen um (wobei ich dadurch eh nur maximal sekunden sparen wuerde) , wobei die urspruengliche Frage aber bleibt: Wieso laesst sich code auf einer "eigenstaendigen" Seite ausfuehren, aber nicht im addon?

bis auf weiteres weiterwurschtelnd
danke
Felix
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Markus.Staab
Entwickler


Anmeldedatum: 29.01.2005
Beiträge: 9516
Wohnort: Aschaffenburg/Germany

BeitragVerfasst am: Mi Nov 01, 2006 4:04 pm
Titel:
Antworten mit Zitat
Hi,

fwolfste hat Folgendes geschrieben:
Ich schaue mich nach anderen Loesungen um (wobei ich dadurch eh nur maximal sekunden sparen wuerde) , wobei die urspruengliche Frage aber bleibt: Wieso laesst sich code auf einer "eigenstaendigen" Seite ausfuehren, aber nicht im addon?


Diese Frage versteh ich nicht..

Gruß,
Markus
_________________
Mein Wunschzettel..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen ICQ-Nummer
fwolfste



Anmeldedatum: 17.07.2006
Beiträge: 11
Wohnort: Osnabrueck Germany

BeitragVerfasst am: Do Nov 02, 2006 6:57 am
Titel:
Antworten mit Zitat
Hey

kills hat Folgendes geschrieben:

fwolfste hat Folgendes geschrieben:
wobei die urspruengliche Frage aber bleibt: Wieso laesst sich code auf einer "eigenstaendigen" Seite ausfuehren, aber nicht im addon?

Diese Frage versteh ich nicht..


okay, nochmal:
Beim Addon-Namensstring-Generieren geht was schief. Der code produziert aber auf einer "eigentstaendigen" Seite einen vernuenftigen String.
ZumTesten hier zum Beispiel meine Addon- Index- Seite (addon/pages/index.inc.php):
(das ist das beispiel fuer eine "eigenstaendige Seite")

Code:
<?
include $REX['INCLUDE_PATH']."/functions/function_rex_category.inc.php";


include $REX['INCLUDE_PATH'].'/layout/top.php';

$cat = OOCategory::getRootCategories(0);
$cats = $cat->getChildren();

print '<select>';
$cat_option_list = "";

if (is_array($cats)) {
   foreach ($cats as $cat) {

   $catId         = $cat->getId();
   $catName      = $cat->getName();

    $cat_option_list = $cat_option_list.'<option>'.$cat->getName().'</option>';
   
   }
}
print $cat_option_list;
print '</select>';

include $REX['INCLUDE_PATH'].'/layout/bottom.php';
?>


und auf der anderen Seite die config.inc.php:
Code:

<?php
// Name des Addons
$mypage = 'fast_structure_navigation';

// Nur im Backend
if (!$REX['GG'])
{
// Sprachobjekt anlegen
$lang_path = $REX['INCLUDE_PATH']. '/addons/'. $mypage .'/lang';
$I18N_IM_EXPORT = new i18n($REX['LANG'],$lang_path);
}

$cat = OOCategory::getRootCategories();
$cats = $cat->getChildren();

$cat_option_list = "";

if (is_array($cats)) {
   foreach ($cats as $cat) {

   $catId         = $cat->getId();
   $catName      = $cat->getName();

    $cat_option_list = $cat_option_list.'<option>'.$cat->getName().'</option>';
   }
}

// Anlegen eines Navigationspunktes im REDAXO Hauptmenu
$REX['ADDON']['page'][$mypage] = $mypage;
// Namensgebung für den Navigationspunkt
// Well thats a dirty hack, isnt it?
$REX['ADDON']['name'][$mypage] = '<select><option>select cat/art</option>'.$cat_option_list.'</select>';
?>


So. Ziemlich gleicher code um $cat_option_list . Nur conig.inc.php streikt, die index.inc.php aber nicht.
Feinen Morgen
Felix
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thomas.Blum
Entwickler


Anmeldedatum: 24.08.2004
Beiträge: 4390
Wohnort: Dresden

BeitragVerfasst am: Do Nov 02, 2006 8:06 am
Titel:
Antworten mit Zitat
Hej,

verstehe ich dich richtig das du die config Datei aufrufen willst? Die config wird von Redaxo selbst ausgewertet.

vg Thomas
_________________
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen ICQ-Nummer
fwolfste



Anmeldedatum: 17.07.2006
Beiträge: 11
Wohnort: Osnabrueck Germany

BeitragVerfasst am: Do Nov 02, 2006 10:32 am
Titel:
Antworten mit Zitat
Hi
tbaddade hat Folgendes geschrieben:
Hej,
verstehe ich dich richtig das du die config Datei aufrufen willst? Die config wird von Redaxo selbst ausgewertet.

Klar, die config wird ausgewertet, und der name-string wird gesetzt. Bzw eben nicht. Zum Testen kann ich (wenn ich in der config den interessanten Teil auskommentiere) per Klick die index aufrufen.
Macht ja aber auch absolut keinen unterschied, die Frage bleibt warum der code in der Config nicht funktioniert, an jeder beliebigen anderen Stelle (zB index) aber schon...
Felix
-was' ne schwere geburt... Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    REDAXO Forum Foren-Übersicht -> AddOns [R3] Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group, Deutsche Übersetzung von phpBB.de