当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage::getsingleton方法代码示例

本文整理汇总了PHP中Mage::getsingleton方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage::getsingleton方法的具体用法?PHP Mage::getsingleton怎么用?PHP Mage::getsingleton使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage的用法示例。


在下文中一共展示了Mage::getsingleton方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _importRealtimeReindex

 protected function _importRealtimeReindex()
 {
     if (Mage::helper("urapidflow")->hasMageFeature("indexer_1.4") && $this->_profile->getData("options/import/reindex_type") == "realtime") {
         $indexer = Mage::getsingleton("index/indexer");
         $pAction = Mage::getmodel("catalog/product_action");
         $idxEvent = Mage::getmodel("index/event")->setEntity(Mage_Catalog_Model_Product::ENTITY)->setType(Mage_Index_Model_Event::TYPE_MASS_ACTION)->setDataObject($pAction);
         $pAction->setWebsiteIds(array(0));
         $crAppliedPids = $this->_applyCatalogRules(array_values($this->_skus));
         if (!empty($crAppliedPids)) {
             foreach ($crAppliedPids as $craPid) {
                 $this->_realtimeIdx['catalog_product_price'][$craPid] = true;
             }
         }
         Mage::getresourcesingleton("urapidflow/ProductIndexerPrice")->prepareWebsiteDateTable();
         if (!Mage::helper("cataloginventory")->isShowOutOfStock()) {
             foreach (array("catalog_product_attribute", "catalog_product_price", "tag_summary", "catalog_category_product") as $idxKey) {
                 $this->_realtimeIdx[$idxKey] = $this->_realtimeIdx[$idxKey] + $this->_realtimeIdx['cataloginventory_stock'];
             }
         }
         foreach (array("cataloginventory_stock", "catalog_product_attribute", "catalog_product_price", "tag_summary", "catalog_category_product") as $idxKey) {
             if (empty($this->_realtimeIdx[$idxKey]) || !$indexer->getProcessByCode($idxKey)) {
                 continue;
             }
             $pAction->setProductIds(array_keys($this->_realtimeIdx[$idxKey]));
             $indexer->getProcessByCode($idxKey)->register($idxEvent)->processEvent($idxEvent);
         }
         if (!empty($this->_realtimeIdx['catalogsearch_fulltext'])) {
             $exPids = array();
             if (!empty($this->_realtimeIdx['catalogsearch_fulltext']['full']['C'])) {
                 foreach ($this->_realtimeIdx['catalogsearch_fulltext']['full']['C'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     $exPids = array_unique(array_merge($exPids, $pIds));
                     foreach ($this->_storesByWebsite[$wId] as $sId => $sData) {
                         Mage::getsingleton("catalogsearch/fulltext")->rebuildIndex($sId, $pIds);
                     }
                 }
             }
             if (!empty($this->_realtimeIdx['catalogsearch_fulltext']['website']['D'])) {
                 foreach ($this->_realtimeIdx['catalogsearch_fulltext']['website']['D'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     foreach ($this->_storesByWebsite[$wId] as $sId => $sData) {
                         Mage::getsingleton("catalogsearch/fulltext")->cleanIndex($sId, $pIds);
                     }
                 }
             }
             if (!empty($this->_realtimeIdx['catalogsearch_fulltext']['website']['I'])) {
                 foreach ($this->_realtimeIdx['catalogsearch_fulltext']['website']['I'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     if ($pIds = array_diff($pIds, $exPids)) {
                         foreach ($this->_storesByWebsite[$wId] as $sId => $sData) {
                             Mage::getsingleton("catalogsearch/fulltext")->rebuildIndex($sId, $pIds);
                         }
                     }
                 }
             }
         }
         if (!empty($this->_realtimeIdx['catalog_url'])) {
             $exPids = array();
             $urlModel = Mage::getsingleton("catalog/url");
             if (!empty($this->_realtimeIdx['catalog_url']['full']['C'])) {
                 foreach ($this->_realtimeIdx['catalog_url']['full']['C'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     $exPids = array_unique(array_merge($exPids, $pIds));
                     foreach ($this->_storesByWebsite[$wId] as $sId => $sData) {
                         foreach ($pIds as $pId) {
                             $urlModel->refreshProductRewrite($pId, $sId);
                         }
                     }
                 }
             }
             if (!empty($this->_realtimeIdx['catalog_url']['website']['I'])) {
                 foreach ($this->_realtimeIdx['catalog_url']['website']['I'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     if ($pIds = array_diff($pIds, $exPids)) {
                         foreach ($this->_storesByWebsite[$wId] as $sId => $sData) {
                             foreach ($pIds as $pId) {
                                 $urlModel->refreshProductRewrite($pId, $sId);
                             }
                         }
                     }
                 }
             }
             if (!empty($this->_realtimeIdx['catalog_url']['website']['D'])) {
                 foreach ($this->_realtimeIdx['catalog_url']['website']['D'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     foreach ($this->_storesByWebsite[$wId] as $sId => $sData) {
                         foreach ($pIds as $pId) {
                             $urlModel->refreshProductRewrite($pId, $sId);
                         }
                     }
                 }
             }
         }
         if (!empty($this->_realtimeIdx['catalog_product_flat'])) {
             $idxProdFlat = Mage::getsingleton("catalog/product_flat_indexer");
             $exPids = array();
             if (!empty($this->_realtimeIdx['catalog_product_flat']['full']['C'])) {
                 foreach ($this->_realtimeIdx['catalog_product_flat']['full']['C'] as $wId => $_pIds) {
                     $pIds = array_keys($_pIds);
                     $exPids = array_unique(array_merge($exPids, $pIds));
//.........这里部分代码省略.........
开发者ID:victorkho,项目名称:telor,代码行数:101,代码来源:Abstract.php

示例2: _prepareCategories

 protected function _prepareCategories()
 {
     $storeId = $this->_profile->getStoreId();
     $suffix = Mage::getstoreconfig("catalog/seo/category_url_suffix", $storeId);
     $suffixLen = strlen($suffix);
     $eav = Mage::getsingleton("eav/config");
     if ($storeId) {
         $this->_rootCatId = Mage::app()->getStore($storeId)->getGroup()->getRootCategoryId();
     } else {
         $this->_rootCatId = $this->_read->fetchOne("select g.root_category_id from {$this->_t("core/website")} w inner join {$this->_t("core/store_group")} g on g.group_id=w.default_group_id where w.is_default=1");
     }
     $rootPath = $this->_rootCatId ? "1/" . $this->_rootCatId : "1";
     $table = $this->_t("catalog/category");
     $sql = "select entity_id, path, children_count from {$table} where path='{$rootPath}' or path like '{$rootPath}/%' or entity_id=1";
     $rows = $this->_read->fetchAll($sql);
     if ($rows) {
         $this->_categories = array();
         foreach ($rows as $r) {
             $this->_categories[$r['entity_id']] = $r;
         }
         $sql = $this->_read->quoteInto("select a.attribute_code, v.entity_id, v.value from {$table}_varchar v inner join {$this->_t("eav/attribute")} a on a.attribute_id=v.attribute_id where a.entity_type_id={$this->_entityTypeId} and a.attribute_code in ('url_path') and v.store_id in (0, {$storeId}) and v.entity_id in (?) order by v.store_id desc", array_keys($this->_categories));
         $rows = $this->_read->fetchAll($sql);
         foreach ($rows as $r) {
             if (empty($this->_categories[$r['entity_id']][$r['attribute_code']])) {
                 $this->_categories[$r['entity_id']][$r['attribute_code']] = $r['value'];
             }
         }
         foreach ($this->_categories as $id => $c) {
             if (empty($c['url_path'])) {
                 $this->_childrenCount[$id] = $c['children_count'];
                 continue;
             }
             $this->_urlPaths[$c['url_path']] = $id;
             $this->_childrenCount[$c['url_path']] = $c['children_count'];
             if ($suffix) {
                 $additionalKey = substr($c['url_path'], 0 - $suffixLen) == $suffix ? substr($c['url_path'], 0, strlen($c['url_path']) - $suffixLen) : $c['url_path'] . $suffix;
                 $this->_urlPaths[$additionalKey] = $id;
                 $this->_childrenCount[$additionalKey] = $c['children_count'];
             }
         }
     }
 }
开发者ID:victorkho,项目名称:telor,代码行数:42,代码来源:Abstract.php

示例3: getSBSecret

 /**
  * Get Storebadge Secret
  *
  * @return string
  */
 public function getSBSecret()
 {
     $secret = Mage::getsingleton('storebadge_ordertracking/config')->getSecret();
     return $secret;
 }
开发者ID:ruuska,项目名称:magento-storebadge-ordertracking,代码行数:10,代码来源:Success.php

示例4: syncShippingMethodsAction

 public function syncShippingMethodsAction()
 {
     $shipping_failure = '';
     $shipping_success = '';
     $helper = Mage::helper('magerpsync/connection');
     $helper->getSocketConnect();
     $userId = Mage::getSingleton('adminhtml/session')->getUserId();
     $errorMessage = Mage::getSingleton('adminhtml/session')->getErrorMessage();
     if ($userId > 0) {
         $carriers = Mage::getsingleton("shipping/config")->getAllCarriers();
         foreach ($carriers as $code => $method) {
             if ($method->isTrackingAvailable()) {
                 $response = Mage::getModel('magerpsync/carrier')->syncShippingMethod($code);
                 if ($response) {
                     $shipping_success .= $code . ',';
                 } else {
                     $shipping_failure .= $code . ',';
                 }
             }
         }
         if ($shipping_failure) {
             Mage::getSingleton('adminhtml/session')->addNotice($this->__("Shipping Methods %s Failed to sync at Odoo!!!", rtrim($shipping_failure, ',')));
         } elseif ($shipping_success != '') {
             Mage::getSingleton('adminhtml/session')->addSuccess($this->__("Shipping Methods %s has been Sucessfully Synchronized at Odoo.", rtrim($shipping_success, ',')));
         } else {
             Mage::getSingleton('adminhtml/session')->addNotice($this->__("All Shipping Methods are Already Synchronized at Odoo."));
         }
     } else {
         Mage::getSingleton('adminhtml/session')->addError($errorMessage);
     }
     $this->_redirect('*/*/index');
 }
开发者ID:babycarenl,项目名称:360,代码行数:32,代码来源:CarrierController.php

示例5: afterSalesOrderSaved

 /**
  * Save deal order in custom table
  *
  * return void
  */
 public function afterSalesOrderSaved(Varien_Event_Observer $observer)
 {
     $event = $observer->getEvent();
     /** get Order ID */
     $orderId = $event->getOrder()->getId();
     /** Load Order Id*/
     $order = Mage::getModel('sales/order')->load($orderId);
     /** Load Customer */
     $customer = Mage::getsingleton('customer/customer')->load($order->getCustomerId());
     $items = $order->getAllItems();
     foreach ($items as $itemId => $item) {
         $productId = $item->getProductId();
         /**Get Product Data */
         $obj = Mage::getModel('catalog/product');
         $product = $obj->load($productId);
         /** Get Name */
         $productName = $product->getName();
         /** Get Price */
         $originalPrice = $product->getPrice();
         /** Get Special Price */
         $specialPrice = $product->getSpecialPrice();
         $dealSpecialToDate = $product->getData('special_to_date');
         $now = Mage::getModel('core/date')->timestamp(time());
         $now = date("Y-m-d" . ' 00:00:00', $now);
         /**
          * get email of a customer
          */
         $email = $customer->getEmail();
         /**
          * get Firstname of a customer
          */
         $firstname = $customer->getFirstname();
         /**
          * get lastname of customer
          */
         $lastname = $customer->getLastname();
         /**
          * Checking whether customer loggedin or not
          */
         if (!Mage::getSingleton('customer/session')->isLoggedIn()) {
             /**
              * To get Email Id of a customer
              */
             $email = $order->getBillingAddress()->getEmail();
             /**
              * To get Firstname of a customer
              */
             $firstname = $order->getBillingAddress()->getFirstname();
             /**
              * To get Last name of a customer
              */
             $lastname = $order->getBillingAddress()->getLastname();
         }
         /**
          * check condition if special price is not empty and due date is greater than to current date
          */
         if (!empty($specialPrice) && ($dealSpecialToDate > $now || empty($dealSpecialToDate))) {
             $model = Mage::getModel('superdeals/dealz');
             $model->setCustomerId($firstname . " " . $lastname)->setCustomerMailId($email)->setOrderNo($order->getIncrementId())->setDealId($productName)->setQuantity($item->getQtyToInvoice())->setActualPrice($originalPrice)->setDealPrice($specialPrice)->setPurchaseDate($order->getCreated_at())->setStatus('Pending');
             $model->save();
         }
     }
 }
开发者ID:igorvasiliev4,项目名称:magento_code,代码行数:68,代码来源:Observer.php


注:本文中的Mage::getsingleton方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。