В запросе 000323012 вчера вам были даны ответы про работу с ORM с цитатой фрагмента документации "Методы перехватчики", вопрос по сути был аналогичен тому, что вы сейчас задали выше. Примеры в разделе "Методы перехватчики" приведены.
Я так понимаю должно, что-то такое получиться? посмотрите скорректируйте. Примеры с гипотетической таблицей book это конечно интересно, но работа с элементами информационных систем было бы более применимо.
Насколько такой запрос нагружает сервер, если мы его делаем каждый раз при загрузке странички?
if ( !is_null($oInformationsystem_Item)) {
$gorod = $oInformationsystem_Item->name;
$aPropertyValues = $oInformationsystem_Item->getPropertyValues();
foreach($aPropertyValues as $oPropertyValue)
{
switch ($oPropertyValue->Property->id) {
case '11':
$gorodi=$oPropertyValue->value;
break;
case '12':
$gorodemail= $oPropertyValue->value;
break;
}
}
Echo $gorod.' '.$gorodi.' '.$gorodemail;
}
?>
И еще момент, в вашем шаблоне сайта почему-то не выводится модификации, начала думал у меня проблема, потом посмотрел у вас на сервере http://demo49.hostcms.ru/shop/clothes/woman/dresses/171/1490/ я так понимаю, что-то нужно в ТДС поправить? не отображаются нужные данные в XSL
И еще момент, в вашем шаблоне сайта почему-то не выводится модификации, начала думал у меня проблема, потом посмотрел у вас на сервере http://demo49.hostcms.ru/shop/clothes/woman/dresses/171/1490/ я так понимаю, что-то нужно в ТДС поправить? не отображаются нужные данные в XSL
На демо-сайте исправлено. Замените в ТДС магазина:
// При фильтрации модификации выводятся на уровне товаров
if (count($Shop_Controller_Show->getFilterProperties()) || count($Shop_Controller_Show->getFilterPrices()))
{
$Shop_Controller_Show->modificationsList(TRUE);
}
else
{
$Shop_Controller_Show->forbidSelectModifications();
}
на:
// При фильтрации модификации выводятся на уровне товаров
if (count($Shop_Controller_Show->getFilterProperties()) || count($Shop_Controller_Show->getFilterPrices()))
{
$Shop_Controller_Show->modificationsList(TRUE);
}
else
{
!$Shop_Controller_Show->item
&& $Shop_Controller_Show->forbidSelectModifications();
}
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
В вашем варианте условие if ( !is_null($oInformationsystem_Item)) { не имеет смысла, так как find() всегда вернет объект, там нужно проверять is_null у ->id