Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Разработка плагинов, вопросы по API  ->  Получить полную ссылку на категорию/товар

Раздел для разработчиков. Обсуждение создания плагинов, вопросы и пожелания по API Amiro.CMS

Добавлено: 17.07.14 11:56:42 #16

Партнер


Регистрация: 22.02.09
Сообщений: 465


Обратиться по имени

А у меня этот код дает корректную полную ссылку (так же последняя версия CMS).
Вот полный код функции в front_functions.php:
function getUrl($id){
	$oTable = AMI::getResourceModel(
		'eshop_item/table',
			array(
				array(
					'extModeOnConstruct' => 'common'
				)
			)
		);
		$oItem = $oTable->find($id);
		$res = $oItem->getFullURL();
	return $res;
}

возвращает
katalog/internet-magazin/dlja-znanij/konstruktory/elementnye/atakujuschij-tigr



Добавлено: 17.07.14 13:10:07 #17



Регистрация: 26.05.08
Сообщений: 984


Обратиться по имени

Вставил прям копипастом, тот же результат.

Давайте я вставлю полностью то, что у меня написано. Может это поможет.

function cstGetUrl($id){
	$oTable = AMI::getResourceModel(
		'eshop_item/table',
			array(
				array(
					'extModeOnConstruct' => 'common'
				)
			)
		);
	$oItem = $oTable->find($id);
	$res = $oItem->getFullURL();
	return $res;
}

function cstGetOrderItems($order_id=0) {
	$resultHTML = '';
	if ($order_id) {
		//get all products in target order
		$order_products = array();
		$oOrderItemsModel = AMI::getResourceModel('eshop_order_item/table')->getList();
		$oOrderItemsModel->addColumn('id_product');
		$oOrderItemsModel->addSearchCondition(array('id_order' => $order_id));
		$oOrderItemsModel->load();
		foreach($oOrderItemsModel as $oOrderItemsModelItem){
			array_push($order_products, $oOrderItemsModelItem->id_product);
		}

		$oItemsModel = AMI::getResourceModel('eshop_item/table')->getList();
		$oItemsModel
			->addColumn('id')
			->addColumn('name')
			->addColumn('price')
			->addColumn('ext_popup_picture')
			->addWhereDef(
				DB_Query::getSnippet('AND %s in (%s)')
					->plain('id')
					->implode($order_products)
			)
			->load();
		
		foreach($oItemsModel as $oItemsModelItem) {
			$fullUrl = cstGetUrl($oItemsModelItem->id);

			$resultHTML .=  '<div class="ordmer">' .
								'<div class="comim"><img src="' . $oItemsModelItem->ext_popup_picture . '" alt=""></div>' .
								'<div class="blopis">' .
									'<a class="u_tit" href="' . $fullUrl . '">' . $oItemsModelItem->name . '</a>' .
									'<div class="prezzo"><b>' . number_format($oItemsModelItem->price, 0, '', ' ') . '</b><span>i</span></div>' .
								'</div>' .
							'</div>';
			}
	}
	return $resultHTML;
}



Добавлено: 17.07.14 15:31:24 #18

Амиро



Регистрация: 21.03.07
Сообщений: 258


Обратиться по имени

В случае Евгения Лапина оказалась работа со списком, для нее функционирует следующий код:
$aProductIds = array(....); // id товаров
$oList = AMI::getResourceModel(
    'eshop_item/table',
        array(
            array(
            'extModeOnConstruct' => 'common'
            )
        )
    )
    ->getList()
    ->addColumn('id')
    ->addColumn('name')
    ->addColumn('lang')
    ->addColumn('sublink')
    ->addWhereDef(
        DB_Query::getSnippet('AND %s in (%s)')
            ->plain('i.id')
            ->implode($aProductIds)
    )
    ->load();

foreach($oList as $oItem) {
    // $oItem->getFullURL();
}





Создать новую тему

Всего тем: 6587
Всего сообщений: 27636
Всего зарегистрированных пользователей: 47884
Последний зарегистрированный пользователь: Losa55