Tickets и разные контексты Новый

Дополнение: Tickets

Сайт с несколькими контекстами. Тип документа — Ticket. В шаблоне вызывается сниппет TicketComments. Столкнулся с проблемой — иногда в head страницы дважды формируется Tickets.Config

OfficeConfig = {
    cssUrl: "/assets/components/office/css/",
    jsUrl: "/assets/components/office/js/",
    actionUrl: "/assets/components/office/action.php",
    close_all_message: "закрыть все",
    pageId: "901"
};
TicketsConfig = {
    "ctx": "ufa",
    "jsUrl": "\/assets\/components\/tickets\/js\/web\/",
    "cssUrl": "\/assets\/components\/tickets\/css\/web\/",
    "actionUrl": "\/assets\/components\/tickets\/action.php",
    "close_all_message": "\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435",
    "tpanel": 1,
    "enable_editor": 1
};
TicketsConfig.editor = {
    ticket: {
        onTab: {
            keepDefault: false,
            replaceWith: " "
        },
        markupSet: [{
            name: "Bold",
            className: "btn-bold",
            key: "B",
            openWith: "<b>",
            closeWith: "</b>"
        }, {
            name: "Italic",
            className: "btn-italic",
            key: "I",
            openWith: "<i>",
            closeWith: "</i>"
        }, {
            name: "Underline",
            className: "btn-underline",
            key: "U",
            openWith: "<u>",
            closeWith: "</u>"
        }, {
            name: "Stroke through",
            className: "btn-stroke",
            key: "S",
            openWith: "<s>",
            closeWith: "</s>"
        }, {
            separator: "---------------"
        }, {
            name: "Bulleted List",
            className: "btn-bulleted",
            openWith: " <li>",
            closeWith: "</li>",
            multiline: true,
            openBlockWith: "<ul>\n",
            closeBlockWith: "\n</ul>"
        }, {
            name: "Numeric List",
            className: "btn-numeric",
            openWith: " <li>",
            closeWith: "</li>",
            multiline: true,
            openBlockWith: "<ol>\n",
            closeBlockWith: "\n</ol>"
        }, {
            separator: "---------------"
        }, {
            name: "Quote",
            className: "btn-quote",
            openWith: "<blockquote>",
            closeWith: "</blockquote>"
        }, {
            name: "Code",
            className: "btn-code",
            openWith: "<code>",
            closeWith: "</code>"
        }, {
            name: "Link",
            className: "btn-link",
            openWith: "<a href=\"[![Link:!:http://]!]\">",
            closeWith: "</a>"
        }, {
            name: "Picture",
            className: "btn-picture",
            replaceWith: "<img src=\"[![Source:!:http://]!]\" />"
        }, {
            separator: "---------------"
        }, {
            name: "Cut",
            className: "btn-cut",
            openWith: "<cut/>"
        }
        ]
    },
    comment: {
        onTab: {
            keepDefault: false,
            replaceWith: " "
        },
        markupSet: [{
            name: "Bold",
            className: "btn-bold",
            key: "B",
            openWith: "<b>",
            closeWith: "</b>"
        }, {
            name: "Italic",
            className: "btn-italic",
            key: "I",
            openWith: "<i>",
            closeWith: "</i>"
        }, {
            name: "Underline",
            className: "btn-underline",
            key: "U",
            openWith: "<u>",
            closeWith: "</u>"
        }, {
            name: "Stroke through",
            className: "btn-stroke",
            key: "S",
            openWith: "<s>",
            closeWith: "</s>"
        }, {
            separator: "---------------"
        }, {
            name: "Quote",
            className: "btn-quote",
            openWith: "<blockquote>",
            closeWith: "</blockquote>"
        }, {
            name: "Code",
            className: "btn-code",
            openWith: "<code>",
            closeWith: "</code>"
        }, {
            name: "Link",
            className: "btn-link",
            openWith: "<a href=\"[![Link:!:http://]!]\">",
            closeWith: "</a>"
        }, {
            name: "Picture",
            className: "btn-picture",
            replaceWith: "<img src=\"[![Source:!:http://]!]\" />"
        }
        ]
    }
};
TicketsConfig.formBefore = 0;
TicketsConfig.thread_depth = 1;
TicketsConfig = {
    "ctx": "ufa",
    "jsUrl": "\/assets\/components\/tickets\/js\/web\/",
    "cssUrl": "\/assets\/components\/tickets\/css\/web\/",
    "actionUrl": "\/assets\/components\/tickets\/action.php",
    "close_all_message": "\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435",
    "tpanel": 1,
    "enable_editor": 1
};
В результате при попытке инициализации комментов выскакивает ошибка такого такого плана:
Uncaught TypeError: Cannot read property 'ticket' of undefined.
Вот тут она:
if (TicketsConfig.enable_editor==true) {
	$('#ticket-editor').markItUp(TicketsConfig.editor.ticket);
}
Что логично, так как TicketsConfig.editor благополучно затирается повторным выводом конфига.

Откуда он берется и как от него избавиться?
07 сентября 2016, 11:51    Алексей Бгатов   
0    484 0

Комментарии (1)

  1. Сергей Шлоков 07 сентября 2016, 13:30 # 0
    Эта тема обсуждалась не один раз. Из последних вопросов вот и вот. Василий эти вопросы игнорирует.
    Вы должны авторизоваться, чтобы оставлять комментарии.