Регистрация
Вход через соцсети
Восстановление пароля

Приоритеты обработки функций....

Новый топик
10.04.2011, 07:03
Ответить | Цитировать
MatrixMaster

Зарегистрирован:
2007-06-09
Сообщений: 24

Проторчал всю ночь перед монитором и так не понял, почему моя функция, которую я разместил в файле /modules/default/functions.inc.php при вызове в компоненте выполняется раньше чем весь код компонента, вот пример функции:

Код:
function utec_xmlparcer($q){

$query = $q;

$getprice = file_get_contents("http://utec-auto.ru/service.php?get=price_list&user=xxx&password=xxx&code=$query");

$xml = simplexml_load_string($getprice) or die("Не возможно получить URL");

foreach ($xml->item as $item) {
echo "<tr bgcolor='#ededed'>";
echo "<td>".$item->code."</td>";
echo "<td>".$item->brand."</td>";
echo "<td>".iconv('UTF-8', 'cp1251',$item->name)."</td>";
echo "<td>".$item->price."</td>";
echo "<td>STOCK 1003</td>";
echo "<td>".$item->deliverydays."</td>";
echo "<td>".$item->rest."</td>";
echo "<td><form method=post action=\"/netcat/modules/netshop/post.php\">
<input type=hidden name=name value=''>
<input type=hidden name=redirect_url value=''>
<input type=hidden name=stock value=''>
<input type=hidden name=id value=''>
<input type=hidden name=c >
<input type=hidden name=vendor value=''>
<input type=hidden name=price value=''>
<input type=hidden name=delivery value=''>
<input type=hidden name=cart_mode value=add>
<input type=hidden value=1>
<input type=submit value=\" \"></form></td>";
echo "</tr>";
}

}


Далее я создаю компонент, в нем размещаю заголовок таблицы, затем после заголовка таблицы вызываю функцию ".utec_xmlparcer($q)." ,потом закрываю таблицу и хоть убейся, она выводит тело таблицы раньше чем генериться заголовок и конец таблицы, то есть происходит ситуация что моя функция обрабатывается раньше чем код компонента да и похоже даже раньше чем код макета дизайна.

Вопрос, как заставить вышеуказанную функцию выводить данные в НУЖНОМ месте компонента а не до него???
10.04.2011, 15:54
Ответить | Цитировать
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Сделайте так, чтобы ваша функция возвращала результат, а не печатала:
Код:
function my_func () {
$result = "foo";
$result .= "bar";

return $result;
}


Ксю доставляет...
198 196 2011-04-10 15:54:12 11172
Описание проекта