суббота, 25 февраля 2012 г.

Делаем ссылки - 2

В первом посте про ссылки я совсем забыл упомянуть про то, что ссылки можно вставлять в отчеты (регионы типа Report).
Работает это все до безобразия просто: заходим в свойства отчета (Report Attributes), в списке столбцов выбираем нужный столбец и щелкаем по картинке с карандашом. В открывшихся свойствах столбца нас интересует раздел Column Link.
Там есть следующие свойства:
Link Text - текст, который будет видеть пользователь в отчете. Внизу, под полем, есть ряд ссылок: первая - с названием столбца (так, как он назван в SQL запросе), и ссылки Icon 1, Icon 2 и т. д. Если щелкнуть по первой ссылке, в поле Link Text появится текст вида #COLUMN_NAME# - название столбца, обрамленное решетками. Это значит, что в столбце будет отображаться текст, который получается в результате запроса. Ссылки Icon 1, Icon 2 и прочие заменят текст на одно из стандартных изображений. При наведении на ссылку в пустом поле справа будет показываться картинка, которая появится в отчете.
Link Attributes - дополнительные атрибуты, которые можно добавить к тегу <a>.
Target - выбор цели: страница в приложении или просто URL. Для страницы в приложении можно задать также следующие свойства (при выборе варианта "URL" они окажутся недоступными):
Page - страница, на которую будет вести ссылка.
Request - свойство, аналогичное свойству Request у кнопок.
Clear Cache - список страниц (через запятую), у которых очистится кэш при клике по ссылке.
Name и Value - названия и значения итемов на целевой странице (см. предыдущий пост).
Во всех этих полях можно указывать конкретные значения (например, указать номер страницы - 5, или название итема P3_TEXT_FIELD), а можно использовать строку подстановки - значение любого столбца из SQL запроса - источника данных для отчета.

Например, наш отчет - это первая страница интернет-магазина. Пользователь ввел название своего любимого фильма и увидел длиннющий список товаров: диски с собственно фильмом, аудио-диски с саунд-треками, футболки и кепки с символикой, плюшевые игрушки в виде героев фильма и прочую дребедень, которая так хорошо обогащает жадных правообладателей :).  Но нам как разработчикам это неинтересно, нам надо получить свой кусочек этого щедрого пирога, и мы решили вдруг, что у каждой категории товаров дожна быть страница своего типа со своими элементами.  Чтобы показать подробную информацию о товаре, нам надо сделать ссылку на страницу, где товар будет показан во всей красе, расписаны его ТТХ и преимущества перед конкурентами. Для этого мы делаем такой SQL запрос:
select id, item_name, page_number, item_name, item_value
from <источник данных>
Здесь id и item_name - название и идентификационный номер товара, page_number - номер страницы в апекс-приложении, которая будет показывать подробности, item_name и item_value - какая-нибудь дополнительная информация (которой, в общем, может и не быть).
Теперь мы идем в раздел Report Attributes, кликаем на карандашик около поля item_name, в разделе Column Link указываем:
Link Text - #ITEM_NAME#
Target - "Page in this Application"
Page - #PAGE_NUMBER#
напротив Item 1: Name - #ITEM_NAME#, Value - #ITEM_VALUE#.
Жмем кнопку "Apply changes", изменения сохраняются, а мы переносимся обратно в Repot Attributes. Там в разделе Column Attributes, в списке столбцов, напротив столбцов  page_number, item_name, item_value снимаем галочки в графе "Show" (чтобы не показывать их пользователю), опять жмем "Apply changes" - и наслаждаемся результатом! 

Комментариев нет:

Отправить комментарий