本文整理汇总了PHP中Mage_Catalog_Model_Category::getUrlInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Category::getUrlInstance方法的具体用法?PHP Mage_Catalog_Model_Category::getUrlInstance怎么用?PHP Mage_Catalog_Model_Category::getUrlInstance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Catalog_Model_Category
的用法示例。
在下文中一共展示了Mage_Catalog_Model_Category::getUrlInstance方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getObject
public function getObject(Mage_Catalog_Model_Category $category)
{
/** @var $productCollection Mage_Catalog_Model_Resource_Product_Collection */
$productCollection = $category->getProductCollection();
$productCollection = $productCollection->addMinimalPrice();
$category->setProductCount($productCollection->getSize());
$transport = new Varien_Object();
Mage::dispatchEvent('algolia_category_index_before', array('category' => $category, 'custom_data' => $transport));
$customData = $transport->getData();
$storeId = $category->getStoreId();
$category->getUrlInstance()->setStore($storeId);
$path = '';
foreach ($category->getPathIds() as $categoryId) {
if ($path != '') {
$path .= ' / ';
}
$path .= $this->getCategoryName($categoryId, $storeId);
}
$image_url = NULL;
try {
$image_url = $category->getImageUrl();
} catch (Exception $e) {
/* no image, no default: not fatal */
}
$data = array('objectID' => $category->getId(), 'name' => $category->getName(), 'path' => $path, 'level' => $category->getLevel(), 'url' => Mage::getBaseUrl() . $category->getRequestPath(), '_tags' => array('category'), 'popularity' => 1, 'product_count' => $category->getProductCount());
if (!empty($image_url)) {
$data['image_url'] = $image_url;
}
foreach ($this->config->getCategoryAdditionalAttributes($storeId) as $attribute) {
$value = $category->getData($attribute['attribute']);
$attribute_ressource = $category->getResource()->getAttribute($attribute['attribute']);
if ($attribute_ressource) {
$value = $attribute_ressource->getFrontend()->getValue($category);
}
if (isset($data[$attribute['attribute']])) {
$value = $data[$attribute['attribute']];
}
if ($value) {
$data[$attribute['attribute']] = $value;
}
}
$data = array_merge($data, $customData);
foreach ($data as &$data0) {
$data0 = $this->try_cast($data0);
}
return $data;
}
示例2: testGetUrlInstance
public function testGetUrlInstance()
{
$instance = $this->_model->getUrlInstance();
$this->assertInstanceOf('Mage_Core_Model_Url', $instance);
$this->assertSame($instance, $this->_model->getUrlInstance());
}
示例3: getCategoryJSON
/**
* Prepare category JSON
*
* @param Mage_Catalog_Model_Category $category
* @return array
*/
public function getCategoryJSON(Mage_Catalog_Model_Category $category)
{
$transport = new Varien_Object();
Mage::dispatchEvent('algolia_category_index_before', array('category' => $category, 'custom_data' => $transport));
$customData = $transport->getData();
$storeId = $category->getStoreId();
$category->getUrlInstance()->setStore($storeId);
$path = '';
foreach ($category->getPathIds() as $categoryId) {
if ($path != '') {
$path .= ' / ';
}
$path .= $this->getCategoryName($categoryId, $storeId);
}
$imageUrl = NULL;
try {
$imageUrl = $category->getImageUrl();
} catch (Exception $e) {
/* no image, no default: not fatal */
}
$data = array('objectID' => $this->getCategoryObjectId($category), 'name' => $category->getName(), 'path' => $path, 'level' => $category->getLevel(), 'url' => $category->getUrl(), '_tags' => array('category'), 'popularity' => 1);
if ($this->isIndexProductCount()) {
$data['product_count'] = $data['popularity'] = $category->getProductCount();
}
if (!empty($imageUrl)) {
$data['image_url'] = $imageUrl;
}
foreach ($this->getCategoryAdditionalAttributes($storeId) as $attributeCode) {
$value = $category->hasData($this->_dataPrefix . $attributeCode) ? $category->getData($this->_dataPrefix . $attributeCode) : $category->getData($attributeCode);
$value = Mage::getResourceSingleton('algoliasearch/fulltext')->getAttributeValue($attributeCode, $value, $storeId, Mage_Catalog_Model_Category::ENTITY);
if ($value) {
$data[$attributeCode] = $value;
}
}
$data = array_merge($data, $customData);
return $data;
}