Нацельте блок в vtiger, чтобы вставить новый блок с помощью jQuery.Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Нацельте блок в vtiger, чтобы вставить новый блок с помощью jQuery.

Сообщение Anonymous »

Я написал код JQuery для нацеливания на модуль и вставки нового блока с определенными параметрами. Но, к сожалению, я заметил, что блок не появляется, но когда я использую инструменты разработчика в браузере и перехожу в сетевую область, я вижу данные, которые хочу отобразить, но не отображаются в пользовательском интерфейсе.
Я не знаю, что еще делать.
Вот код;

Код: Выделить всё

jQuery(document).ready(function () {
var sPageURL = window.location.search.substring(1);
var targetModule = '';
var targetView = '';
var sourceModule = '';
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++) {
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == 'module') {
targetModule = sParameterName[1];
}
else if (sParameterName[0] == 'view') {
targetView = sParameterName[1];
}
else if (sParameterName[0] == 'sourceModule') {
sourceModule = sParameterName[1];
}
}

if (targetModule == 'LayoutEditor') {
// Check enable
var params = {};
params.action = 'ActionAjax';
params.module = 'RelatedBlocksLists';
params.mode = 'checkEnable';
app.request.post({data:params}).then(
function (err,data) {
if (err == null && data.enable == '1') {
if(sourceModule == '') {
sourceModule = jQuery('[name="layoutEditorModules"]').val();
}
var addCustomBlockButton = jQuery('.addCustomBlock');
var relatedBlocksListsButtons=jQuery('[i][/i]  Add Related Block[i][/i]  Add Related List');
addCustomBlockButton.after(relatedBlocksListsButtons);

// Add related block settings
/*var moduleBlocks = jQuery('#moduleBlocks');
moduleBlocks.append('');*/
var instance = new RelatedBlocksLists_Manager_Js();
instance.registerEvents();
}
}
);
}
/**************************customized***********************/
var module = jQuery(document).find('input[name="module"]').val();

var container = jQuery(document).find('form');

if (module == 'Jobs' && container.attr('id') == 'EditView') {
var after_block_label = 'Jobs Information'
var preBlock = jQuery(".fieldBlockContainer .fieldBlockHeader:contains('" + after_block_label + "')").first().closest(".fieldBlockContainer");
var containerEditView = jQuery('#EditView');
containerEditView.on(Vtiger_Edit_Js.referenceSelectionEvent, 'input[name="cf_accounts_id"]', function(e, data) {
var accountsRecordID = $('[name^="cf_accounts_id"]').val();

var progressIndicatorElement = jQuery.progressIndicator();
var editParams = {};

/***--------------------------------------***/

editParams['module'] = 'RelatedBlocksLists';
editParams['record'] = accountsRecordID;
editParams['view'] = 'PassActionAjax';
editParams['mode'] = 'generateRelatedDetailView';
editParams['blockid'] = 5;
editParams['source_module'] = 'Accounts';
editParams['view_mode'] = 'edit';

AppConnector.request(editParams).then(
function(data) {
if (data) {
progressIndicatorElement.progressIndicator({'mode' : 'hide'});
$(".AccountRelatedRecord").remove();
preBlock.after(data);

}
}
);

});

//on edit load automaticaly
jQuery(document).ready(function () {
var accountsRecordID = $('[name^="cf_accounts_id"]').val();

if(accountsRecordID !=""){
var progressIndicatorElement = jQuery.progressIndicator();
var editParams = {};

/***--------------------------------------***/

editParams['module'] = 'RelatedBlocksLists';
editParams['record'] = accountsRecordID;
editParams['view'] = 'PassActionAjax';
editParams['mode'] = 'generateRelatedDetailView';
editParams['blockid'] = 5;
editParams['source_module'] = 'Accounts';
editParams['view_mode'] = 'edit';

AppConnector.request(editParams).then(
function(data) {
if (data) {
progressIndicatorElement.progressIndicator({'mode' : 'hide'});
$(".AccountRelatedRecord").remove();
preBlock.after(data);
}
}
);
}
});

} //end of if view checking
/**********************************/

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}

function getRecord(str)
{
var vars = [], hash;
var hashes = str.split('&');

for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}

//select detail view if true
if (getUrlVars()["module"] == 'Jobs' &&  getUrlVars()["view"] == 'Detail') {

var preBlock = jQuery(".detailview-table:first");

var relRecord = $("[title*='Customer']").attr('href');
var accountsRecordID = getRecord($("[title*='Customer']").attr('href'))['record'];

var progressIndicatorElement = jQuery.progressIndicator();

var params = {};
params['module'] = 'RelatedBlocksLists';
params['record'] = accountsRecordID;
params['view'] = 'PassActionAjax';
params['mode'] = 'generateRelatedDetailView';
params['blockid'] = 5;
params['source_module'] = 'Accounts';

AppConnector.request(params).then(
function(data) {
if (data) {
progressIndicatorElement.progressIndicator({'mode' : 'hide'});
$(".AccountRelatedRecord").remove();
preBlock.after(data);
}
}
);

}//end of detail view
/**********************************/

function waitUntil(waitFor, toDo) {
if (waitFor()) {
toDo();
} else {
setTimeout(function() {
waitUntil(waitFor, toDo);
}, 300);
}
}

/**************************end customized***********************/
});
Я пытался настроить код разными способами, но результат все равно один и тот же. Не отображается новый блок в пользовательском интерфейсе Vtiger в инструментах разработчика браузера > сетевая область.
Этот код раньше работал в более старой версии vtiger (6.5). Но не в той версии 7.4, которую я использую сейчас.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ing-jquery
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу создать задачу и событие для лида с помощью API Vtiger
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как я могу создать задачу и событие для лида с помощью API Vtiger
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как я могу создать задачу и событие для лида с помощью Vtiger API
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Рабочий процесс Vtiger — остановка операции, если проверка поля не удалась.
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как добавить пользовательский модуль в раскрывающийся список модуля веб-формы в Vtiger CRM?
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»