Здравствуйте.
Подскажите как правильно вставить php код в функию hook_view.
Мне нужно просто запустить код на странице сайта - он расчитывает и выводит таблицы. Тема вывода для него не нужна. Но сам код надо внести в модуль (он подключается к БД), а не вводить непосредственно на сайти и запускать через Обработчик php
Комментарии
хм, берёшь, пишешь модуль, пишешь хук, там отлавливаешь $op = view и выполняешь код
тык, модуль узла то я написал, распределил права доступа к нему. А зачем отлавливать. Я думал надо просто как-то правильно вывести через hook_view
сорри, спутал с hook_nodeapi(). Тогда в чём проблема? Выполняете пхп-код, выводите его
В этом то и вопрос. как првильно его вывести. Если код генерирует множество таблицы. При этом при расчете следующей строки таблицы переменные затираюься новыми значениями. Т.е в массив их нет смысла передавать.
Как правильно вывести готовую таблицу.
Спасибо за помощь.
таблицу правильно вывести через theme('table'), посмотрите как её пользоваться сразу отпадёт вопрос как хранить
Спасибо
что-то я так и не разобрался.
Для примера, пусть есть код:
for ($j = 2; $j<10; $j++)
{
?>
<tr>
<td align="center"><?php echo $madres; ?></td>
<td align="center"><?php echo "<a href=# onClick=\"AddIntoCart ('$mainurl','galley.asp?','$madres');\">".$mkod."</a>" ?></td>
<td align="center"><?php echo $mpostavshik; ?></td>
<td align="center"><?php echo $mnaimen; ?></td>
<td align="center"><?php echo $msklad; ?></td>
</tr>
<?php
}
?>
</table>
<br />
как правильно и куда его ввести, чтобы данная таблица сформировалась на странице?
Вы не с той стороны зашли, вот вам пример кода, из моего одного модуля:
....
....
$sql = 'SELECT * FROM {csics_translate} WHERE 1';
$results = db_query($sql);
$header = array('ID', 'Rus', 'Eng', 'Удалить');
$rows = array();
while($table = db_fetch_object($results)) {
$rows[] = array($table->id, $table->rus, $table->eng, l('Удалить', 'admin/content/tax-translate/'.$table->id.'/delete'));
}
$content .= theme('table', $header, $rows);
return $content;
}
Спасибо, но возникла другая проблема. Теперь с кодировкой. При выполнение строки:
$header = array('ID', 'Rus', 'Eng', 'Удалить');
вместо русских симболов знак ??????
Как исправить можно?
Почитать мануалы и узнать что надо кодить в UTF wothout BOM
я решил задачу
дописав
$output = iconv('Windows-1251', 'UTF-8', $output);
спасибо за помощь - исправлю bom