Добавление панелей на ListView

Не так давно мне на почту пришло письмо с вопросом о том, как создать собственную субпанель на ListView. Проведя 10 минут в разделах документации у меня оформился ответ. Все нижеописанное действительно для версии sugar 5.1

Согласно мануалу SugarCRM, файлы view загружаются в следующем порядке:

  • custom/modules/<my_module>/views/view.<my_view>.php 
  • modules/<my_module>/views/view.<my_view>.php   
  • custom/include/MVC/View/view.<my_view>.php
  • include/MVC/Views/view.<my_view>.php
Итак, первый вариант - это как раз то, что нам нужно. Если система будет обновляться, то обновления модуля не затронут всю проделанную работу (изменения в последнем файле списка коснуться всей sugar).

Идем дальше. Для наглядности, все примеры буду приводить на модуле Contacts. Для данного модуля создаем файл custom/modules/contacts/views/view.list.php
Имя файла, как видите, view.list.php. Оно то и скажет sugar, что для рендеринга ListView следует использовать именно его. Теперь про содержимое. Класс файла должен наследоваться от класса ViewList (это если мы хотим изменить стандартный вывод и добавить к нему кое-что свое. Если же цель - полностью заменить вывод, то тогда наследуем от SugarView). Итого:


<?php
//этот файл отвечает за вывод всех List'ов шуги, от него и будем наследоваться
require_once('include/MVC/View/views/view.list.php');

class ContactsViewList extends ViewList {

     function ContactsViewList(){
         parent::ViewList();       
     }

    function display(){
// наличие этого родительского метода позволит произвести стандартный рендеринг для ListView
    parent::display();
// это будет выводиться ниже всего контента ListView
    echo 'my panel';
    }
}
?>
  Вот и всё. Вам просто остается разместить нужный код вместо приведенного как пример echo.


Раздел: Веб-Разработка Рубрика: SugarCRM


Добавлена: 27-05-2009 | | Пользователем: olga | Просмотров: 2514


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



        
        

Капча *

                 Captcha
                          

        

Комментарий будет опубликован после проверки модератором

Для подсветки синтаксиса исходный код следует обрамлять следующими тэгами
<pre><code class="синтаксис" >код</code></pre>
Подерживаются следующие: cpp php javascript sql html-xml css ini