Artikelspezifikation in neuen Tab

hallo community,
ich würde gerne Artikelspezifikationen in der Tabelle “oxartextends” in die Spalte OXLONGDESC_1 integrieren. Dieser Inhalt soll dann in einen neuen Tab bei der Produktseite angezeigt werden.

Folgendes habe ich bis jetzt “gebaut”:

[{block name=“details_tabs_attributes”}]

    [{capture append="tabs"}]<a href="#attributes">[{oxmultilang ident="DETAILS_SPECIFICATION"}]</a>[{/capture}]
    [{capture append="tabsContent"}]<div id="attributes">Testinhalt</div>[{/capture}]

[{/block}]

Aber leider muss bei “Testinhalt” der Inhalt der Spalte in der Tabelle abgerufen werden.
Wie kann ich das bewerkstelligen? Es muss ja möglich sein eine Spalte in der Tabelle ausgeben zu können
Vielen Dank!
lg micha

Hi,

also die Inhalte der oxartextends-Tabelle werden alle per Funktion (in der core/oxarticle.php) geholt und ausgegeben. Die einzige Möglichkeit wäre also ein Modul zu schreiben, das die Artikel-Klasse erweitert und dir das entsprechende Feld zurück gibt.

Eine andere Möglichkeit wäre noch ein Feld in der oxarticles-Tabelle anzulegen und zu nutzen, denn dieses wäre dann im Smarty über das Artikel-Objekt ansprechbar.

finde die datei oxarticle.php nicht im core verzeichniss
wenn ich eine neue spalte anlege in der DB, wie könnte ich diese dann integrieren? danke für deine hilfe! lg

habe jetzt eine neue spalte in oxarticles integriert mit den spezifikationen
nun habe ich es so versucht:

[{block name=“details_tabs_attributes”}]

    [{capture append="tabs"}]<a href="#attributes">[{oxmultilang ident="DETAILS_SPECIFICATION"}]</a>[{/capture}]
    [{capture append="tabsContent"}]<div id="attributes>[{ $product->oxarticles__specs->value }]</div>

[{/capture}]
[{/block}]

dabei ist “specs” die angefragte spalte.
Leider jedoch ohne erfolg :frowning:

  1. die Felder OXLONGDESC_1 und andere, mit Ziffern erweiterte Felder sind vorgesehen für Inhalte in verschiedenen Sprachen, würde ich also für so einen Zweck nicht missbrauchen

  2. neuer Tab in den Artikeldetails und Info aus DB holen wurde mehrfach im Forum behandelt (und gelöst), einfach mal die Suche bemühen

kannst du mir vielleicht einen thread zeigen? leider habe ich nur ein beispiel gefunden - dort wurde die shortdescription “umfunktioniert”. diesen inhalt würde ich jedoch gerne unverändert lassen.

lg
micha

http://forum.oxid-esales.com/showthread.php?t=15318

http://www.oxidmodule.com/OXID-Professional-Community/Module-PE/Content-Tabs-fuer-Oxid-PE.html

http://forum.oxid-esales.com/showthread.php?t=20471&langid=2#post131582

Lösung wie oben gewünscht:
In der oxarticle.php neue Funktion integrieren:

/**
* Get article specifications description
*
* @return object $oField field object
*/

public function getLongDescription1()
{
  if ( $this->_oLongDesc1 === null ) {
        // initializing
        $this->_oLongDesc1 = new oxField();
        // choosing which to get..
        $sOxid = $this->getId();
        $sViewName = getViewName( 'oxartextends', $this->getLanguage() );
        $oDb = oxDb::getDb();
        $sDbValue = $oDb->getOne( "select oxlongdesc_1 from oxartextends where oxid = " . $oDb->quote( $sOxid ) );
        
        if ( $sDbValue != false ) {
            $this->_oLongDesc1->setValue( $sDbValue, oxField::T_RAW );
        } elseif ( $this->oxarticles__oxparentid->value ) {
            if ( !$this->isAdmin() || $this->_blLoadParentData ) {
                $this->_oLongDesc1->setValue( $this->getParentArticle()->getLongDescription()->getRawValue(), oxField::T_RAW );
            }
        }
    }
    return $this->_oLongDesc1;
            
}

die tabs.tpl noch anpassen:

[{block name=“details_tabs_attributes”}]
[{oxhasrights ident=“SHOWLONGDESCRIPTION”}]
[{assign var=“oLongdesc1” value=$oDetailsProduct->getLongDescription1()}]
[{if $oLongdesc1->value}]
[{capture append=“tabs”}]<a href=“#specs”>Spezifikation</a>[{/capture}]
[{capture append=“tabsContent”}]
<div id=“specs” class=“cmsContent”>
[{oxeval var=$oLongdesc1}]

        &lt;/div&gt;
        [{/capture}]
    [{/if}]
[{/oxhasrights}]

[{/block}]

Inhalte werden nun von der Spalte oxlongdesc_1 geholt.

Leider noch keine Idee wie ich dieses Feld im Backend integrieren kann.

LG micha

dazu gibts hier ein Beispiel - und bitte, nimm ein eigenes Feld und verwende nicht das oxlongdesc_1