15 array(
'oxartnum',
'oxarticles', 1, 0, 0),
16 array(
'oxtitle',
'oxarticles', 1, 1, 0),
17 array(
'oxean',
'oxarticles', 1, 0, 0),
18 array(
'oxmpn',
'oxarticles', 0, 0, 0),
19 array(
'oxprice',
'oxarticles', 0, 0, 0),
20 array(
'oxstock',
'oxarticles', 0, 0, 0),
21 array(
'oxid',
'oxarticles', 0, 0, 1)
23 'container2' => array(
24 array(
'oxartnum',
'oxarticles', 1, 0, 0),
25 array(
'oxtitle',
'oxarticles', 1, 1, 0),
26 array(
'oxean',
'oxarticles', 1, 0, 0),
27 array(
'oxmpn',
'oxarticles', 0, 0, 0),
28 array(
'oxprice',
'oxarticles', 0, 0, 0),
29 array(
'oxstock',
'oxarticles', 0, 0, 0),
30 array(
'oxitmartid',
'oxdiscount', 0, 0, 1)
48 $sOxid = $oConfig->getRequestParameter(
'oxid');
49 $sSynchOxid = $oConfig->getRequestParameter(
'synchoxid');
52 if (!$sOxid && $sSynchOxid) {
53 $sQAdd =
" from $sArticleTable where 1 ";
54 $sQAdd .= $oConfig->getConfigParam(
'blVariantsSelection') ?
'' :
"and $sArticleTable.oxparentid = '' ";
57 if ($sSynchOxid && $sOxid != $sSynchOxid) {
58 $sQAdd =
" from $sO2CView left join $sArticleTable on ";
59 $sQAdd .= $oConfig->getConfigParam(
'blVariantsSelection') ?
"($sArticleTable.oxid=$sO2CView.oxobjectid or $sArticleTable.oxparentid=$sO2CView.oxobjectid)" :
" $sArticleTable.oxid=$sO2CView.oxobjectid ";
60 $sQAdd .=
" where $sO2CView.oxcatnid = " . $oDb->quote($sOxid) .
" and $sArticleTable.oxid is not null ";
65 $sQAdd =
" from $sDiscTable left join $sArticleTable on $sArticleTable.oxid=$sDiscTable.oxitmartid ";
66 $sQAdd .=
" where $sDiscTable.oxid = " . $oDb->quote($sOxid) .
" and $sDiscTable.oxitmartid != '' ";
70 if ($sSynchOxid && $sSynchOxid != $sOxid) {
72 $sSubSelect .=
" select $sArticleTable.oxid from $sDiscTable, $sArticleTable where $sArticleTable.oxid=$sDiscTable.oxitmartid ";
73 $sSubSelect .=
" and $sDiscTable.oxid = " . $oDb->quote($sSynchOxid);
75 if (stristr($sQAdd,
'where') ===
false) {
80 $sQAdd .=
" $sArticleTable.oxid not in ( $sSubSelect ) ";
91 $soxId = $this->
getConfig()->getRequestParameter(
'oxid');
93 if (is_array($aChosenArt)) {
94 $sQ =
"update oxdiscount set oxitmartid = '' where oxid = ? and oxitmartid = ?";
95 oxDb::getDb()->execute($sQ, array($soxId, reset($aChosenArt)));
105 $soxId = $this->
getConfig()->getRequestParameter(
'synchoxid');
106 if ($soxId && $soxId !=
"-1" && is_array($aChosenArt)) {
107 $sQ =
"update oxdiscount set oxitmartid = ? where oxid = ?";
108 oxDb::getDb()->execute($sQ, array(reset($aChosenArt), $soxId));
126 foreach ($aVisiblecols as $iCnt => $aCol) {
133 $sCol = $aCol[3] ? $aCol[0] : $aCol[0];
135 if ($oConfig->getConfigParam(
'blVariantsSelection') && $aCol[0] ==
'oxtitle') {
136 $sVarSelect =
"$sViewTable.oxvarselect" . $sLangTag;
137 $sQ .=
" IF( $sViewTable.$sCol != '', $sViewTable.$sCol, CONCAT((select oxart.$sCol from $sViewTable as oxart where oxart.oxid = $sViewTable.oxparentid),', ',$sVarSelect)) as _" . $iCnt;
139 $sQ .= $sViewTable .
'.' . $sCol .
' as _' . $iCnt;
146 foreach ($aIdentCols as $iCnt => $aCol) {
152 $sCol = $aCol[3] ? $aCol[0] : $aCol[0];
153 $sQ .= $this->
_getViewName($aCol[1]) .
'.' . $sCol .
' as _' . $iCnt;