public function prepareProductCollection($collection) { parent::prepareProductCollection($collection); $query = Mage::helper('catalogsearch')->getQuery(); $queryText = trim($query->getQueryText()); do { $temp = $queryText; $queryText = str_replace(' ', ' ', $queryText); } while ($temp != $queryText); // $words = addslashes(str_replace(' ', ',', $queryText)); $words = explode(' ', $queryText); $joinCondition = array(); foreach (Vikont_Pulliver_Helper_Sku::getDistributorFieldNames() as $dFieldName) { foreach ($words as $word) { $joinCondition[] = "pn.d_{$dFieldName}='" . addslashes($word) . "'"; } } /* $collection->getSelect() ->joinLeft( array('pn' => Mage::getSingleton('core/resource')->getTableName('oemdb/sku')), 'e.sku = pn.sku AND (' . implode(' OR ', $joinCondition) . ')', null, (string) Mage::getConfig()->getNode('global/resources/oemdb_database/connection/dbname') ); /**/ //sql($collection); //die; return $this; }
/** * Render the grid cell value * * @param Varien_Object $row * @return string */ public function render(Varien_Object $row) { $html = $row->getData($this->getColumn()->getIndex()); if ($partNumber = $this->getFilteredValue('part_number')) { $distribs = array(); foreach (Vikont_Pulliver_Helper_Sku::getDistributorFieldNames() as $dCode => $dField) { $dNumbers = explode(',', $row->getData('gd_' . $dField)); foreach ($dNumbers as $dNumber) { if ($partNumber == $dNumber) { $distribs[] = '<span class="pulliver-distribs-part-number">' . htmlspecialchars($dCode) . '</span>'; break; } } } $html .= '<div class="pulliver-distribs">' . implode(',', $distribs) . '</div>'; } return $html; }
protected function _prepareCollection() { $this->_prepareCollectionBefore(); $filter = $this->getParam($this->getVarNameFilter(), null); $data = $this->helper('adminhtml')->prepareFilterString($filter); if (isset($data['part_number'])) { $partNumber = addslashes($data['part_number']); $joinCondition = array(); $extraFields = array(); foreach (Vikont_Pulliver_Helper_Sku::getDistributorFieldNames() as $dFieldName) { $joinCondition[] = "pn.d_{$dFieldName}='{$partNumber}'"; $extraFields['gd_' . $dFieldName] = new Zend_Db_Expr('GROUP_CONCAT(d_' . $dFieldName . ')'); } $this->getCollection()->getSelect()->joinInner(array('pn' => Mage::getSingleton('core/resource')->getTableName('oemdb/sku')), 'e.sku = pn.sku AND (' . implode(' OR ', $joinCondition) . ')', $extraFields, (string) Mage::getConfig()->getNode('global/resources/oemdb_database/connection/dbname')); } $this->_prepareCollectionAfter(); return $this; }
break; } Vikont_Pulliver_Helper_Data::inform(sprintf("Data decoded successfully, %d rows have been read", count($data))); } else { Vikont_Pulliver_Helper_Data::inform('ERROR: could not decode inventory'); continue; } // file stuff $outputFileName = $moduleHelper->getLocalFileName('lightspeed-' . $vendor . '.csv'); $fileHandle = $commonHelper->openFile($outputFileName); // $tmsReviewFileName = $moduleHelper->getLocalFileName('review-'.$vendor.'.csv'); // $reviewFileNeedsHeader = !(file_exists($tmsReviewFileName) && filesize($tmsReviewFileName)); $tmsReviewFileName = $moduleHelper->getLocalFileName('review-' . $vendor . '-' . time() . '.csv'); $reviewFileNeedsHeader = true; $tmsReviewFileHandle = null; $distributorFieldNames = Vikont_Pulliver_Helper_Sku::getDistributorFieldNames(); $lineCounter = 0; foreach ($data as $item) { if ($sku = $skuHelper->getSkuByItemNumber($item['SupplierCode'], $item['PartNumber'])) { fputcsv($fileHandle, array($sku, $item['Avail'])); $lineCounter++; } else { if ($isWarehouse && $moduleHelper->productIsOEM($item)) { $skuHelper->updateOEMtable($item, $isWarehouse); } else { if (!$tmsReviewFileHandle) { $tmsReviewFileHandle = fopen($tmsReviewFileName, 'ab'); if ($reviewFileNeedsHeader) { fputcsv($tmsReviewFileHandle, array_keys($item)); $reviewFileNeedsHeader = false; }