Mit Shopversionen, in denen ein Hub Connector ist. Da es den als Addon für ältere Shops gibt, ist das nicht fix.
Ist das plausibel & ok: PHP: if (defined(MODULE_PAYMENT_GAMBIO_HUB_STATUS)) { // Fein - HUB-Spalten in "orders" vorhanden!} else { // Mist}
So ganz richtig finde ich das nicht. Dann würde ich ja vermutlich eher die ColumnList holen und ansehen. Du weisst aber, dass du dein Problem nur hast, weil du direkt auf der DB rumhühnerst, anstatt die Services zu nutzen oder?
So wäre es korrekt: PHP: if (defined('MODULE_PAYMENT_GAMBIO_HUB_STATUS')) { // Fein - HUB-Spalten in "orders" vorhanden!} else { // Mist}
Genau, aber auch in jeder anderen PHP-Version entspräche der Code Folgendem: PHP: if (defined('True')) { // Fein - HUB-Spalten in "orders" vorhanden!} else { // Mist} Sofern es keine Konstante mit dem Namen True gibt, würde also immer der else-Fall ausgeführt werden.
Ich lasse das hier mal so rumliegen: PHP: <?phprequire 'includes/application_top.php';$db = StaticGXCoreLoader::getDatabaseQueryBuilder();$tables = $db->list_tables();$ordersTableExists = in_array('orders', $tables, true);$foobarTableExists = in_array('foobar', $tables, true);$gambioHubModuleColumnExists = $db->field_exists('gambio_hub_module', 'orders');$barfooColumnExists = $db->field_exists('barfoo', 'orders');?><!DOCTYPE html><html> <head> <title>DB Test</title> <style>body { font-family: sans-serif; }</style> </head> <body> <p> Tabelle orders: <?= $ordersTableExists ? 'existiert' : 'existiert nicht' ?><br> Tabelle foobar: <?= $foobarTableExists ? 'existiert' : 'existiert nicht' ?><br> <br> Spalte gambio_hub_module: <?= $gambioHubModuleColumnExists ? 'existiert' : 'existiert nicht' ?><br> Spalte barfoo: <?= $barfooColumnExists ? 'existiert' : 'existiert nicht' ?> </p> </body></html>