Oxid 6.2x functions.php

Hi, ich habe eine Frage zur Datei functions.php im Ordner modules.
Wie kann ich hier an die ID eines Artikels in getViewname($table...) kommen, wenn ich if ($table == "oxarticles") setze?

Ich hätte gedacht:

$smarty = oxRegistry::get(‘oxUtilsView’)->getSmarty();
$smarty->_tpl_vars[‘oView’]->getProduct()->getId();

Geht aber leider nicht. Danke den Experten.

Hallo,

ohne genau zu wissen, was du eigentlich vor hast (will heißen: sei bitte nachsichtig mit mir) würde ich meinen, dass das nicht nach einer guten Lösung klingt :wink:

Deswegen frag ich mal: welches Problem willst du damit Lösen?

Und zur rein technischen Frage: Was genau bekommst du für eine Fehlermeldung (oder Warning) wenn du das probierst?

Grüße
Flo

2 Likes

Kannst es so versuchen:

$oSmarty = \OxidEsales\Eshop\Core\Registry::getUtilsView()->getSmarty();
$actProduct = $oSmarty->get_template_vars('oDetailsProduct');
$oxid = $actProduct->oxarticles__oxid->value;

Achtung beim Kopieren. Hochkommata und Pfeile -> prüfen!!

1 Like

Yes. Danke für den Hinweis. Mit ‘products’ statt ‘product’ und einer foreach bekomme ich alle IDs in der Listenansicht. Mit $table = “oxobject2category” geht es auch in der Suche.

Jo stimmt: In den Listen ist es products und in der Detailansicht oDetailsProduct. Habs oben geändert.