Sugarcrm: изменить действия на кнопке Dashlet quickEdit
У меня очень специфический вопрос по Sugarcrm.
Я использую версию Enterprise 6.5.16 и захожу в тупик.
Что у меня сейчас есть:
Когда пользователь находится на своей домашней странице, у него есть дашлет под названием "Мои открытые случаи", в котором отображаются все открытые случаи, назначенные ему или созданные им.
Для каждой строки этого дашлета у нас отображается иконка быстрого редактирования. (вы знаете, маленькая ручка). Когда пользователь нажимает на этот маленький значок, он открывает всплывающее окно quickcreate (или quickedit?).
Чего я хочу достичь:
Я хочу, чтобы, когда пользователь нажимает на значок, Sugar не открывает всплывающее окно, а открывает новую вкладку браузера в EditView.
Таким образом, в основном, когда на домашней странице, когда пользователь хочет редактировать "Case01- Issue" из дашлета, вместо того, чтобы открывать форму быстрого создания (или quickedit), я хочу открыть новую вкладку браузера с полным представлением редактирования "Case01". - выпуск ".
Что мне нужно сделать? Я не видел определения значка ни в custom/modules/Cases/metadata/dashletviewdefs.php, ни где-либо еще.
Заранее спасибо за вашу помощь и время!
Gaëlle
3 ответа
Вы должны создать свой собственный дашлет (с копированием существующего в "пользовательскую" папку), заменить все стандартные записи на свои. Добавьте копию DashletGenericDisplay.tpl и назовите ее как CustomMyCasesDashlet.tpl. Нет необходимости расширять класс MyCasesDashlet. Вы можете оставить "Расширяет DashletGeneric". В функции конструктора CustomMyCasesDashlet() просто добавьте строку:
$this->displayTpl = 'custom/modules/Cases/Dashlets/CustomMyCasesDashlet/CustomMyCasesDashlet.tpl';
Обратите внимание на $ this->. Необходимо переопределить поле DashletGeneric.
Дашлет "Мои случаи" и большинство дашлетов расширяют класс DashletGeneric, найденный в /include/Dashlets/DashletGeneric.php
, При этом используется файл шаблона DashletGenericDisplay.tpl в том же каталоге, и этот шаблон отображает кнопку быстрого редактирования.
Чтобы удалить или изменить кнопку быстрого редактирования, вы должны расширить Мои Случаи и настаивать на том, чтобы она использовала собственный шаблон Smarty вашего собственного создания. В /custom/modules/Cases/Dashlets/CustomMyCasesDashlet/CustomMyCasesDashlet.php
у вас может быть следующее:
<?php
require_once('modules/Cases/Dashlets/MyCasesDashlet/MyCasesDashlet.php');
class CustomMyCasesDashlet extends MyCasesDashlet{
$displayTpl = 'custom/modules/Cases/Dashlets/CustomMyCasesDashlet/CustomMyCasesDashlet.tpl';
}
Затем вы должны скопировать оригинальный шаблон в новый файл и местоположение, на которое ссылается CustomMyCasesDashlet::displayTpl, и настроить его по своему усмотрению.
Чтобы ваш Dashlet мог правильно зарегистрироваться в системе, вам также понадобится файл CustomMyCasesDashlet.meta.php. Скопируйте оригинал в свой пользовательский каталог и при необходимости измените метки - ключ должен заменить ссылки на MyCasesDashlet на CustomMyCasesDashlet.
Скопируйте файл из модулей /Cases/Dashlets/MyCasesDashlet/MyCasesDashlet.php и вставьте его в пользовательский /modules/Cases/Dashlets/MyCasesDashlet/MyCasesDashlet
Если у вас нет папки Cases внутри пользовательского каталога, создайте ее.
После копирования файла добавьте свойство для загрузки пользовательского файла TPL.
Файл DashletGenericDisplay.tpl по умолчанию находится в include / Dashlets /
class MyCasesDashlet extends DashletGeneric {
var $displayTpl = "custom/modules/Cases/Dashlets/DashletGenericDisplay.tpl";