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


PHP Zend_Gdata_App_Extension_Link::setHref方法代码示例

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


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

示例1: _insert

 private function _insert($productId, &$params)
 {
     $dryRun = Axis::config()->gbase->main->dryRun;
     $tableLanguage = Axis::single('locale/language');
     $currentLanguage = $tableLanguage->find($params['language'])->current();
     /* Get local product data */
     $tableProduct = Axis::single('catalog/product');
     $tableManufacture = Axis::single('catalog/product_manufacturer');
     $currencyModel = Axis::single('locale/currency');
     $zendCurrency = $currencyModel->getCurrency($params['currency']);
     $rate = $currencyModel->getData($params['currency'], 'rate');
     $currencyOptions = array('position' => Zend_Currency::RIGHT, 'display' => Zend_Currency::USE_SHORTNAME);
     $product = $tableProduct->find($productId)->current();
     $productUrl = $product->getHumanUrl();
     $productDescription = $product->getDescription($params['language']);
     if ($product->manufacturer_id != '0') {
         $productManufacture = $tableManufacture->find($product->manufacturer_id)->current();
     }
     $productCategories = $product->getCategories($params['language']);
     $entry = $this->_service->newItemEntry();
     /* Atom namespace */
     $entry->title = $this->_service->newTitle(trim($productDescription['name']));
     $content = $productDescription['description'] == '' ? Axis::translate('catalog')->__('No description available') : trim($productDescription['description']);
     $entry->content = $this->_service->newContent($content);
     $entry->content->type = 'text';
     $entry->itemType = Axis::config()->gbase->main->itemType;
     if (Axis::config()->gbase->main->link == 'Website' && ($siteUrl = $this->_getSiteUrl($params['site']))) {
         $link = new Zend_Gdata_App_Extension_Link();
         $link->setHref(preg_replace('/\\s+/', '%20', trim($siteUrl . '/' . $this->view->catalogUrl . '/' . $productUrl)));
         $link->setRel('alternate');
         $link->setType('text/html');
         $link->setTitle(trim($productDescription['name']));
         $linkArray[] = $link;
         $entry->setLink($linkArray);
     } else {
         $entry->addGbaseAttribute('payment_accepted', 'Google Checkout', 'text');
     }
     /* G namespace */
     //$price = $zendCurrency->toCurrency($product->price * $rate, $currencyOptions);
     $price = $product->price * $rate;
     $entry->addGbaseAttribute('price', $price, 'floatUnit');
     $entry->addGbaseAttribute('condition', 'new', 'text');
     $entry->addGbaseAttribute('id', $product->sku . '_' . $params['country'], 'text');
     $entry->addGbaseAttribute('quantity', (int) $product->quantity, 'int');
     $entry->addGbaseAttribute('weight', "{$product->weight} lbs", 'numberUnit');
     //@TODO get weight unit
     if ($productManufacture) {
         $entry->addGbaseAttribute('brand', $productManufacture->name, 'text');
     }
     $entry->addGbaseAttribute('target_country', $params['country'], 'text');
     $entry->addGbaseAttribute('item_language', $currentLanguage->code, 'text');
     if ($siteUrl) {
         $entry->addGbaseAttribute('image_link', preg_replace('/\\s+/', '%20', trim($siteUrl . '/media' . '/product' . $product->image_base)), 'url');
     }
     foreach ($productCategories as $category) {
         $entry->addGbaseAttribute('product_type', $category['name'], 'text');
     }
     foreach (Axis::config()->gbase->main->payment as $payment) {
         if ($payment != '') {
             $entry->addGbaseAttribute('payment', $payment, 'text');
         }
     }
     if (Axis::config()->gbase->main->notes != '') {
         $entry->addGbaseAttribute('payment_notes', Axis::config()->gbase->main->notes, 'text');
     }
     if (Axis::config()->gbase->main->application != '') {
         $entry->addGbaseAttribute('application', Axis::config()->gbase->main->application, 'text');
     }
     $attributes = $this->_getProductAttributes($product, $params['language']);
     foreach ($attributes as $attr_id => $attribute) {
         $attrName = $attribute['optionName'];
         $attrValue = isset($attribute['valueName']) ? $attribute['valueName'] : $attribute['values'];
         $entry->addGbaseAttribute(preg_replace('/\\s+/', '_', $attrName), $attrValue, 'text');
     }
     /* Private attributes */
     $entry->addGbaseAttribute('site', $params['site'], 'int');
     $array = $entry->getExtensionElements();
     $privateAttr = array();
     $privateAttr[0]['name'] = 'access';
     $privateAttr[0]['value'] = 'private';
     $privateAttr[1]['name'] = 'type';
     $privateAttr[1]['value'] = 'int';
     $localId = new Zend_Gdata_App_Extension_Element('local_id', 'g', 'http://base.google.com/ns/1.0', $product->id);
     $localId->setExtensionAttributes($privateAttr);
     $array[count($array)] = $localId;
     $entry->setExtensionElements($array);
     Axis::session('gbase')->last_exported = $productId;
     Axis::session('gbase')->processed_count++;
     try {
         $this->_service->insertGbaseItem($entry, $dryRun);
         Axis::session('gbase')->imported_count++;
     } catch (Exception $e) {
         Axis::message()->addError($this->view->escape($e->getMessage()));
         try {
             $log = new Zend_Log(new Zend_Log_Writer_Stream(Axis::config()->system->path . '/var/logs/gbase.log'));
             $log->err($e->getMessage());
         } catch (Exception $e) {
             Axis::message()->addError($e->getMessage());
         }
     }
//.........这里部分代码省略.........
开发者ID:rommmka,项目名称:axiscommerce,代码行数:101,代码来源:IndexController.php


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