Администраторы группы

  • Аватар

Модераторы группы

  • Аватар

Разработка Vtiger CRM

Открытая группа активность: 1 мес., 3 нед. назад

Обсуждаем вопросы доработки существующих и создания новых модулей для SalesPlatform Vtiger CRM.

[DevHowTo] Создание нового модуля (записей: 7)

← Форум группы   Все форумы
  • Аватар Yevgeniy - 2 г., 11 мес. назад:

    Добрый день! Подскажите, пожалуйста, как создать новый модуль и связать с имеющимися в vtiger? Погуглил. Создал страницу php, поместил в каталог с другими модулями, но не вижу ее.

    Заранее благодарю за ответ.

  • Аватар Дмитрий - 2 г., 11 мес. назад:

    Добрый день, Евгений!

    Думаю вам поможет эта статья
    https://goo.gl/N2bRVT

  • Аватар Алексей - 2 г., 8 мес. назад:

    Да, по этой ссылке сделал модуль. Но не понимаю причины, почему не «взлетает». Вижу новый модуль в настройках модулей (могу включать его или выключать).
    Но вот в меню он никак не хочет появляться.
    Странно. В чем может быть дело?
    По идее, отнесение к разделу делает вот эта строка $moduleInstance->parent = ‘Tools’;
    Добавлял еще и вот эти строки
    $menuInstance = Vtiger_Menu::getInstance(‘Support’);
    $menuInstance->addModule($moduleInstance);

    Но ничего.

  • Аватар Дмитрий - 2 г., 8 мес. назад:

    @borovkov
    Какая версия Vtiger? 6 или 7?
    Если есть возможность выложить модуль куда-нибудь, то было бы здорово.

  • Аватар Алексей - 2 г., 8 мес. назад:

    Версия 7.

  • Аватар Алексей - 2 г., 6 мес. назад:

    В этой по ссылке выше не хватает информации о том, что нужно еще модуль в меню зарегистрировать. Зарегистрировал ID модуля в меню и все появилось.

  • Аватар Алексей - 2 мес., 2 нед. назад:

    ID модуля нужно добавить в таблицу vtiger_app2tab. Можно посмотреть как она устроена и как зарегистрированы другие модули. А можно воспользоваться следующей функцией в скрипте создания модуля.

    function addToAppMenu($moduleInstance, $APPTABMENU) {
    global $adb;
    $APPTABMENU = strtoupper($APPTABMENU);
    $result = $adb->pquery(‘SELECT MAX(sequence) AS maxsequence FROM vtiger_app2tab WHERE appname = ?’, Array($APPTABMENU));
    $sequence = 0 ;
    if ($adb->num_rows($result) > 0) {
    $sequence = $adb->query_result($result, 0,’maxsequence’);
    $sequence = $sequence + 1;
    $adb->pquery(‘INSERT INTO vtiger_app2tab (tabid, appname, sequence) VALUES (?,?,?)’, Array($moduleInstance->getId(), $APPTABMENU , $sequence));
    echo ‘Настройка модуля на AppMenu: …DONE
    ‘;
    } else {
    echo ‘ERROR: настройка модуля на AppMenu: … ‘ . $APPTABMENU . ‘ Опция НЕ СУЩЕСТВУЕТ.
    ‘;
    }
    }