форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Делаю каталог товаров. Задача: создать на сайте, в боковой панели, таблицу с последними десятью товарами и их ценами: старая цена выделяется одним цветом, новая – другим. Все данные берутся с настраиваемых полей (custom_field). Товары кликабельны, таблицу можно сортировать по названиям товаров и ценам -- javascript нам в помощь.
1. Рисуем таблицу. Класс “sortable” свидетельствует о том, что столбец можно сортировать. h4 и h9 – два разных цвета, определенных в css.
<table> <tr> <th class="sortable">Название товара</th> <th class="sortable">Цена <h4>прежняя</h4> и <h9>новая</h9>, руб.</th> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="1" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="2" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="3" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="4" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="5" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="6" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="7" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="8" /></td> </tr> <tr> <td><txp:article_custom category="tawar" limit="1" listform="tb" offset="9" /></td> </tr></table>
2. Создаем форму с данными. Ячейки с товаром и ценами, как видим, разделяются -- </td><td>.
<txp:permlink><h9><txp:custom_field name="tawar" /></txp:permlink></h9></td><td> <p><h10><txp:custom_field name="old_cost" /></h10> / <h9><txp:custom_field name="new_cost" /></h9></p>
3. Скрипт для сортировки я брал на frequency-decoder.com. Подключается так:
<script type="text/javascript" src="<txp:site_url />где_лежит_скрипт.js"></script>
4. Создаем и заполняем формы “tawar” (товар), “new_cost” (новая цена) и“old_cost” (старая цена).
Возможно, решение мое не самое оптимизированное с точки зрения количества запросов, но другие варианты я не встречал. Таблицу можно сделать полосатой (для пущей читабельности) маленькой скриптовой вставкой . Если кому то нужно – отписывайтесь, расскажу как. Может, кто знает другие способы реализации таблицы с данными?
Отредактированно ilyuha (21-01-2008 20:29:32)
Неактивен
Я бы сделал так:
<table> <tr> <th class="sortable">Название товара</th> <th class="sortable">Цена <h4>прежняя</h4> и <h9>новая</h9>, руб.</th> </tr> <txp:article_custom category="tawar" limit="999" listform="tb" break="" /> </table>
Форма tb:
<tr> <td> <txp:permlink><h9><txp:custom_field name="tawar" /></txp:permlink></h9></td><td> <p><h10><txp:custom_field name="old_cost" /></h10> / <h9><txp:custom_field name="new_cost" /></h9></p> </td> </tr>
Отредактированно the_ghost (21-01-2008 23:24:14)
Неактивен