Erweiterung der Artikelverwaltungs-Tabs gesucht

Hallo in die Runde,

ich bin auf der Suche nach einer Möglichkeit, ein weiteres Tab in die Artikelverwaltung einzusetzen (also dort wo aktuell Stamm|Erweitert|Lager usw steht).

Es würde mir ausreichen, wenn dort einfach nur ein neues Tab erscheint, dass einen Iframe aufruft und dabei die ArtikelNr bzw. ID des Artikels an eine URL übergibt.

Habe mich bereits ein bisschen in die Extensions eingelesen, speziell im Adminbereich scheint das allerdings ein ziemliches Brett zu sein. Ziel wäre, die Erweiterung möglichst kurzfristig einzubinden.

Gibt es jemanden, der mir einen Tipp zum (Revisionssicheren) einbinden eines solchen Tabs geben kann? (Forensuche und Dr. Google gaben keine guten Hinweise)

Wenn unter Euch ein Profi ist, der das in kurzer Zeit umsetzen kann und dazu aktuell etwas Zeit hat, dann gerne ebenfalls melden (ggf. per PN).

Viele Grüße und vorab vielen Dank von
Andreas

Einen neuen Tab “erzeugst” du generell ersteinmal über eine eigene menu.xml in einem Unterordner in modules, also z.B. modules/meintab/menu.xml


<?xml version="1.0" encoding="ISO-8859-1"?>
<OX>    
	<OXMENU id="NAVIGATION_ESHOPADMIN">
		<MAINMENU id="mxmanageprod">
            <SUBMENU id="mxarticles" cl="article" list="article_list">
                <TAB id="tbclarticle_meintab" cl="article_meintab" />
            </SUBMENU>
        </MAINMENU>
    </OXMENU>
</OX>

Dann musst du dir die View dafür im Admin erzeugen, eventuell fängst du einfach mit einer Kopie des Stamm Tabs an also admin/article_main.php kopieren und anpassen (Dateiname,Klassenname,sThisTemplate,Funktionen => article_meintab) - als letzten Schritt musst du noch das Template dafür erzeugen, eventuell auch wieder eine Kopie. Diesmal von out/admin/tpl/article_main.tpl => article_meintab.tpl

Wenn du das alles durchziehst müsstest du es anschließend klicken können, wenn du irgendwas vergisst fällt er hin.

Admin Veränderungen und Revisionssicher ist so eine Sache :wink:

Da du anscheinend etwas Ahnung vom Programmieren zu haben scheinst kopier einfach die “/admin/article_attribute.php” (Die Klasse natürlich auch umbenennen)
und die “/out/admin/tpl/article_attrribute.tpl”

Bennen die dann um in “article_wasweissich…”

und jetzt der Revisionsunsichere Schritt: in die Datei: “/admin/menu.xml” an gegebener Stelle(OX>OXMENU>MAINMENU id=“mxmanageprod”>SUBMENU id=“mxarticles”)

<TAB id="tbclarticle_wasweissich" cl="article_wasweissich" />

einfügen.

Was auch gehen dürfte ist auch ein neues Modul extra für die menu.xml einfügen.
also einfach die datei/modules/wasweissich/menu.xml mit folgendem inhalt erstellen:

und dort dann diese Struktur nachbauen.


<?xml version="1.0" encoding="ISO-8859-15"?>
<OX>
 <OXMENU id="NAVIGATION_ESHOPADMIN">
  <MAINMENU id="mxmanageprod">
   <SUBMENU id="mxarticles" cl="article" list="article_list>
    <TAB id="tbclarticle_wasweissich" cl="article_wasweissich" />
   </SUBMENU>
  </MAINMENU>
 </OXMENU>
</OX>


und schwups du hast ein neues Tab bei den articles, mit der Funktion des “Erweitert” Tab. Der heisst dann nur n bissel Doof. Macht aber nix unter: “/out/admin/de/cust_lang.php” einen neuen String definieren

'tbclarticle_wasweissich' => "Was Weiss Ich"

ggf. Temp leeren und auch das Problem ist Schnee von Gestern.

Grüße

Rafael

Superklasse, vielen Dank.

Bin letztendlich nach der tollen Anleitung von Rafael vorgangen und habe mir das articles_attribute-Modul angepasst. Mit der Anleitung war der neue Reiter (fast) ein Klax’. :slight_smile:

hey… bei mir gings auch.
darf ich mal dummerweise fragen wie ich diesen neuen reiter auf meiner frontseite bei der arttikelansicht ausgeben kann?

und bei welcher datei ich was verändern musste?

die reiter habe ich gefunden in folgender datei:
/out/azure/tpl/page/details/inc/tabs.tpl

meine erstelle reiter datei nennt sich article_userdef.php und article_userdef.tpl

vielen vielen dank für eure hilfe :slight_smile:

im Frontend musst du die entsprechenden Infos aus der Datenbank wieder rausholen und in die tabs.tpl dann einbauen. Kannst dann einfach die Paar zeilen Code kopieren und anpassen. Verstehst du den COde oder brauchst du mehr Hinweise?

Hallo apsdv,
wenn man sich an so ein System wagt sollte man natürlich zwischen Frontend und Backend unterscheiden können.
Es gibt kein Mapping zwischen den Frontend Taps und den Backend Tabs, was selbst bei ferner Betrachtung jedem auffallen müsste.
Das Frontend ist ja komplett von dir gestaltbar.
Du musst dich also selber um die Ausgabe eines Tabs im Template kümmern.
Um dir weiter helfen zu können müsste man natürlich wissen welche ShopVersion und welches Template du benutzt.

Grüße

Rafael

Guten Abend!

Auch ich möchte “custom tabs” bei den Artikeln – aber in 4.7.
Da sich ja die Struktur schon ganz schön geändert hat – was muss ich in diesem Fall machen?

Schritt 1

kopier einfach die “/admin/article_attribute.php” (Die Klasse natürlich auch umbenennen)
und die “/out/admin/tpl/article_attrribute.tpl”

Ich finde unter “application/views/admin/article_attribute.php” die Datei, die, nehme ich an, dem vorherigen Pfad “out/…” entspricht.
unter “controllers/admin” finde ich eine weitere article_attribute.php und eine article_attribute_ajax.php. Sind diese beiden, oder eine davon, zu duplizieren + umbenennen?

Schritt 2

in die Datei: “/admin/menu.xml” an gegebener Stelle(OX>OXMENU>MAINMENU id=“mxmanageprod”>SUBMENU id=“mxarticles”)
Code:

<TAB id=“tbclarticle_wasweissich” cl=“article_wasweissich” />

einfügen.

> Diese Datei gibt es unter /admin ja gar nicht mehr. Was entspricht dem in 4.7?

Oder gibt es hier einen noch geschickteren Weg, ans Ziel zu gelangen?

Vielen Dank für eure Hilfe + Ideen!

Jo mei:

application/views/admin/menu.xml

Aber nicht die obige ändern. Einfach menu.xml speichern unter:
modules/dein_modul/menu.xml

Folgender Inhalt:

<?xml version="1.0" encoding="ISO-8859-15"?>
<OX>
	<OXMENU id="NAVIGATION_ESHOPADMIN">
	<MAINMENU id="mxmanageprod">
	    <SUBMENU id="mxarticles" cl="article" list="article_list">
		<TAB id="tbclarticle_wasweissich" cl="article_wasweissich" />
	    </SUBMENU>
	</MAINMENU>
    </OXMENU>
</OX>

und:

modules/dein_modul/metadata.php

Folgender Inhalt:

<?php

$sMetadataVersion = '1.0';

$aModule = array(
    'id'           => 'dein_modul',
    'title'        => 'dein_modul',
    'description'  => 'dein_modul.',
    'version'      => '1.0',
    'author'       => 'WAS WEISS ICH',
    'extend'       => array(
    )
);

Oder Anhang kopieren. Aktivieren. Fertig.

hello rubbercut & cmmunity,

erst mal vielen dank, war die letzten tage unterwegs, aber sitze nun wieder dran.

soweit sogut – nach anleitung die dateien erstellt und an die entsprechenden Orte gelegt. dann modul aktiviert, alles sieht gut aus. Es geht übrigens um einen Tab [B]“tracklist”[/B].

menu xml:

<?xml version="1.0" encoding="ISO-8859-15"?>
<OX>
	<OXMENU id="NAVIGATION_ESHOPADMIN">
	<MAINMENU id="mxmanageprod">
	    <SUBMENU id="mxarticles" cl="article" list="article_list">
		<TAB id="tbclarticle_tracklist" cl="article_tracklist" />
	    </SUBMENU>
	</MAINMENU>
    </OXMENU>
</OX>

metadata.php

<?php

$sMetadataVersion = '1.0';

$aModule = array(
    'id'           => 'tracklist',
    'title'        => 'tracklist',
    'description'  => 'tracklist',
    'version'      => '1.0',
    'author'       => 'xxx',
    'extend'       => array(
    )
);

aber:

[U]1: scheitere an einbindung.[/U]
Ich dachte, ich müsste in der tabs.tpl ein blöckchen kopieren, ändern (“attributes” in “tracklist”, die entsprechende tracklist.tpl erstellen, und gut, aber das hat nicht geklappt.

[{block name="details_tabs_attributes"}]
    [{if $oView->getAttributes()}]
        [{capture append="tabs"}]<a href="#attributes">[{oxmultilang ident="DETAILS_SPECIFICATION"}]</a>[{/capture}]
        [{capture append="tabsContent"}]<div id="attributes">[{include file="page/details/inc/attributes.tpl"}]</div>[{/capture}]
    [{/if}]
[{/block}]

geh ich da falsch ran?

[U]2: auch im Backend nicht so super…[/U]
bei der Artikelverwaltung ist in der Tat ein neuer Tab namens “tbclarticle_tracklist”. Bei Klick darauf stellt er mir aber keinerlei Eingabemöglichkeit dar, sondern läd die Startseite des Shops ins Backend. Außerdem sind sämtliche anderen Reiter in der Artikelverwaltung nicht mehr anwählbar, ich kann meinen neuen Tab nur über Klick auf einen ganz andern Menupunkt wieder verlassen.

Also: es hakt noch arg. Ich würde mich sehr freuen, wenn du mir da nochmal weiterhelfen würdest. danke!

Hallo,

zunächst einmal ging`s ja nur um das Tab im Admin. Dieses erscheint nun da, wo es hin soll. Dann muss im 2. Schritt (um es einfach auszudrücken) der Verweis/MenuLink auf article_tracklist (“cl=article_tracklist”) noch mit Inhalten gefüllt werden.

Dafür gibt`s aber auch einige Anleitungen: http://wiki.oxidforge.org/Tutorials#Modules_and_Extensions

Grüße

Cutty

Hallo zusammen, ich hab nun gerade eben die Anleitung rubbercut genutzt, das hat auch alles ohne Probleme funktioniert.
Jedoch steh ich nun total auf dem schlauch…
Ich würde gerne in dem erstellten Tab nun Text eintragen und den dann bei den Artikeln mit anzeigen lassen.
Kann mir da jemand weiterhelfen?

Grüße
Marcel

Die Suche schon gefunden? Bsp: Article_Product erweitern! Ein neues Feld im Bereich Artikel->Bilder / Adminbereich

Hallo rubbercut,
Ja ich hatte die Suche schon bemüht aber manchmal sieht man vor lauter Bäumen den Wald nicht mehr.
Leider komme ich da absolut nicht mehr weiter. Würde gerne in dem Feld einfach nur anstatt der Startseite des Shops einen Text eingeben können den oh später im Frontend anzeigen lassen kann.

OK, mit obigem Beispiel wird cl="article_wasweissich" eingebunden. Dazu gehören in dem Fall 2 Dateien ( Controller und View (Template) *.tpl) und für gewöhnlich mit identischem Namen, die nun erstellt und über das Modul registriert werden: Bsp: article_wasweissich.php und article_wasweissich.tpl.

Alles nötige steht hier: Grundlagen Modulentwicklung Backend | Anzeigen von Datenbankinhalten

Hi edvservicemaerz, hast du das lösen können?
Gruß

Hallo Uemit, nein ich bin leider nicht weiter gekommen. :pensive:

Sofern immer noch die Startseite im Tab geladen wird, anbei auf Basis von http://www.foxido.de/demomodul1-backend das obige Beispiel, sodass ein neuer Artikel-Tab “article_wasweissich” mit dem Text “Put in my fields” erscheint. Jetzt noch analog zum Tab article_main die Daten anzeigen lassen (render) und über ein Input-Feld das Speichern ermöglichen (save, saveinlang usw.). Das steht alles mehrfach im Forum.