Пользовательский шаблон Suitecrm для пользовательского модуля

Я создал собственный модуль с помощью конструктора модулей.

Я хочу изменить шаблоны моего модуля (редактировать, подробно, подпанель).

Как я могу указать Suitecrm использовать другой шаблон?

Спасибо

(Suiterm 7.7)


person Dovre    schedule 11.08.2016    source источник


Ответы (2)


это работа для меня.

<?php

require_once('include/MVC/View/SugarView.php');

class AccountsViewEdit extends SugarView {

private $smarty;

  public function __construct() {

  }

  public function display() {
    $this->smarty = new Sugar_Smarty();
    $data = ['a'=> 'a', 'b'=>'b'];
    $this->smarty->assign($data);
    $this->smarty->display('path/custom/template.tpl');        
  }
}
person cakpep    schedule 23.08.2016

Вам нужно создать SugarView в модуле, а затем переопределить метод display(), чтобы вернуть путь к вашему пользовательскому шаблону. Соглашение заключается в том, чтобы хранить ваши шаблоны в папке «tpl» в модуле.

Например, если вы посмотрите на «modules/Accounts/views/view.edit.php», вам просто нужно добавить

class AccountsViewEdit extends ViewEdit
{
    public function __construct()
    {
        parent::__construct();
        $this->useForSubpanel = true;
        $this->useModuleQuickCreateTemplate = true;
    }

    public function display() {

        parent::display(); // TODO: Change the autogenerated stub
        return $this->ss->fetch('path/to/your/smarty/template.tpl');
    }
}

это почти то же самое для подпанелей, за исключением того, что они находятся в папке Dashlets. Взгляните, например, на modules/Accounts/Dashlets/MyAccountsDashlet/MyAccountsDashlet.php.

person Daniel Samson    schedule 12.08.2016