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

Правильная структура html

Новый топик
19.09.2014, 12:49
Ответить | Цитировать
xrayman

Зарегистрирован:
2014-09-14
Сообщений: 15

Привет всем.

Я создал компонент, в нем, допустим, 2 поля - tab и text. Мне надо на страницу вывести их в виде:
tab_0
tab_1
...
tab_n
text_0
text_1
...
text_n

Сейчас я это сделал так: в "Префикс списка объектов" через $db->get_results я достаю значения полей tab и вывожу их циклом, а в "Объект в списке" вывожу только значения text. Но меня гложут сомнения...

Как правильно делать такие вещи?
19.09.2014, 19:23
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Вполне хорошее решение.
Для объекта в списке выборку значений делать не обязательно. Достаточно лишь латинские имена полей
Код:
foreach($fields as $field){
echo ${'f_'.$field[Field_Name]};
}


Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
19.09.2014, 23:42
Ответить | Цитировать
xrayman

Зарегистрирован:
2014-09-14
Сообщений: 15

Спасибо за ответ.

Для объекта в списке я так и делаю: <?=$f_Text_1?>

А приведенный пример кода я честно говоря не понял. У меня var_dump($fields) == 'NULL'. Что вы имели в виду под $fields и как до него достучаться чтобы поковырять?
20.09.2014, 10:33
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Цитата:
а в "Объект в списке" вывожу только значения text

Я посчитал что вы выводите поля циклом. Но проблема в том что если это так то вы делаете дополнительно еще запрос. Вот я и привел решение без дополнительных запросов для значений полей.
$fields это выборка из таблицы Files WHERE Checked=1 AND Class_ID=".$classID." ORDER BY Priority

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
20.09.2014, 11:27
Ответить | Цитировать
xrayman

Зарегистрирован:
2014-09-14
Сообщений: 15

Нет, циклом из запроса я вывожу только значения в "Префиксе" - не нашел, есть ли на этом этапе доступ к полям без дополнительных запросов.
В "Объекте в списке" смысла в этом нет - он же повторяется для каждой записи и количество полей достаточно ограничено, чтобы их выводить руками.
05.10.2014, 15:52
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

В принципе, Ваше решение нормальное.
Еще вариант с меньшим количеством SQL-запросов, но бОльшим расходом памяти (если объектов не безумно много - чтобы память не переполнилась):
1. В префиксе делаем $data_tabs=$data_texts="";
2. В объекте в списке делаем примерно так:
<?
$data_tabs .= $f_tab_0;
$data_texts .= $f_text_0;
?>
3. В суффиксе делаем вывод накопленных данных:
<?=$data_tabs.$data_texts?>

198 196 2014-10-05 15:52:54 13812
Описание проекта