Machine
Новичок
Вообщем начну. Имеется код выгрузки :
все отлично работает, но есть 1 вопрос. из кода видно,
то есть, к новости подбираются все города которые существуют в переменной.
Города моего сайта:
Киев, Винница, Днепропетровск и т.д. ХМЛ вытягивает их и приписует в выгрузку.. в итоге исход получается такой: пример на одной новости:
А нужно сделать, так чтобы все эти регионы не приписывались к одной новости, а выгрузка создавала такие же новости только каждую с разным городом, чтобы материал продублировался 20 раз к примеру( в зависимости кол-ва городов ) , но к каждому был только 1 регион.
Уважаемые форумчане, прошу помощи. подскажите что изменить в коде?
PHP:
<?php
/**
* Created by JetBrains PhpStorm.
* User: User
* Date: 28.09.12
* Time: 0:04
* To change this template use File | Settings | File Templates.
*/
class XmlController extends Controller
{
public function actionIndex()
{
$criteria = new CDbCriteria();
$criteria->with = array('cities');
$offers = Items::model()->findAllActive($criteria);
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>
<discounts>
<operator>
<name></name>
<url></url>
<param></param>
<logo>images/logo_top.png</logo>
<logo264></logo264>
<logo88></logo88>
<logo16></logo16>
</operator>
<offers>
';
foreach($offers as $v)
{
$dates = ItemDates::model()->findByPk($v->getDatesId());
echo '<offer>
<id>'.$v->id.'</id>
<name>'.htmlspecialchars($v->name).'</name>
<url>'.$this->createUrl('item/',array('id'=>$v->id)).'</url>
<description>'.htmlspecialchars($v->description).'</description>
<regions>';
foreach($v->cities as $v2)
{
echo '<region>'.$v2->name.'</region>';
}
echo '</regions>
<beginsell>'.$dates->start_date.'</beginsell>
<endsell>'.$dates->end_date.'</endsell>
<beginvalid>'.$dates->start_date.'</beginvalid>
<endvalid>'.$dates->end_date.'</endvalid>
<picture>'.Yii::app()->params['CONTENT_WAY'].'/items/'.$v->itemSlides[0]->image.'</picture>
<price>'.$v->price.'</price>
<discount>'.$v->discount.'</discount>
<discountprice>'.$this->calcDiscPrice($v).'</discountprice>
<pricecoupon>'.$v->cupon_price.'</pricecoupon>
<supplier>
<name>'.htmlspecialchars($v->company->name).'</name>
<url />
<tel />
<addresses>
<address>
<name />
<coordinates>'.$v->company->map_lat.','.$v->company->map_lng.'</coordinates>
</address>
</addresses>
</supplier>
</offer>';
}
echo '</offers>
</discounts>
';
die();
}
}
PHP:
foreach($v->cities as $v2)
{
echo '<region>'.$v2->name.'</region>';
}
Города моего сайта:
Киев, Винница, Днепропетровск и т.д. ХМЛ вытягивает их и приписует в выгрузку.. в итоге исход получается такой: пример на одной новости:
PHP:
<regions><region>Донецк</region>
<region>Киев</region>
<region>Винница</region>
<region>Днепропетровск</region>
<region>Житомир</region>
<region>Запорожье</region>
<region>Ивано-Франковск</region>
<region>Кировоград</region>
<region>Кривой Рог</region>
<region>Луганск</region>
<region>Луцк</region>
<region>Львов</region>
<region>Мариуполь</region>
<region>Николаев</region>
<region>Одесса</region>
<region>Полтава</region>
<region>Ровно</region>
<region>Севастополь</region>
<region>Симферополь</region>
<region>Сумы</region></regions>
Уважаемые форумчане, прошу помощи. подскажите что изменить в коде?