本文整理汇总了PHP中Zend_Gdata_App_Extension_Link::setType方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Gdata_App_Extension_Link::setType方法的具体用法?PHP Zend_Gdata_App_Extension_Link::setType怎么用?PHP Zend_Gdata_App_Extension_Link::setType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Gdata_App_Extension_Link
的用法示例。
在下文中一共展示了Zend_Gdata_App_Extension_Link::setType方法的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());
}
}
//.........这里部分代码省略.........