RTE для introtext: помогите пожалуйста с подсказкой
Существует плагин для того чтоб в поле introtext тоже был RTE:
Пожалуйста подскажите как этот код модифицировать, чтоб можно было вписать список id шаблонов, где он должен появляться, либо может список шаблонов-исключений, в которых он не нужен?
Вариант с id ресурсов тоже был бы хорош!
Заранее благодарю.
<?php
// check "OnDocFormRender" event
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
однако на практике не очень удобно, когда оно вообще везде.Пожалуйста подскажите как этот код модифицировать, чтоб можно было вписать список id шаблонов, где он должен появляться, либо может список шаблонов-исключений, в которых он не нужен?
Вариант с id ресурсов тоже был бы хорош!
Заранее благодарю.
Комментарии: 9
$array = array(ids);
if(in_array($modx->resource->get('id'), $array)) {
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
}
Вместо id можно поставить template и будут вам шаблоны
Спасибо за ответ!
Видимо что-то делаю не так, потому что вот так — не работает ни с id, ни с template, просто совсем не загружается ресурс, HTTP ERROR 500((
Видимо что-то делаю не так, потому что вот так — не работает ни с id, ни с template, просто совсем не загружается ресурс, HTTP ERROR 500((
$array = array(1);
if(in_array($modx->resource->get('template'), $array)) {
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Может быть я как-то не так номера id вписываю?
Еще версия, что для бэкенда нужно что-то другое, ибо оставляю в плагине только это:
$array = array();
if (in_array($modx->resource->get('id'), $array)) {}
и всё, страницы не открываются
https://modx.pro/howto/24982 тут похожую задачку решали не так давно
Не раскурю, скила не хватит((
$modx->controller->resource
или $scriptProperties['resource']
Ух, класс! Вот так работает:
Если делаю:
$array = array(111, 112);
if(in_array($modx->controller->resource->get('id'), $array)) {
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Но как для шаблонов?Если делаю:
if(in_array($modx->controller->template->get('id'), $array))
то снова, привет HTTP ERROR 500
Хотелось бы «заклинание» и для шаблонов, а не только для конкретных ресурсов + комбинированно и номера шаблонов, и ресурсов — такой код можно будет считать законченным.
Поторопился я, видимо со своим «ух, класс...»
Подскажите пожалуйста, заранее благодарю!
Поторопился я, видимо со своим «ух, класс...»
Подскажите пожалуйста, заранее благодарю!
Вот так привязать к шаблонам.
$templates = array(1, 2);
if(in_array($modx->controller->resource->get('template'), $templates)) {
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Вот так выводить для указанных шаблонов, и плюс отдельно для указанных ID. $templates = array(1, 2);
$ids = [112, 113];
if(
in_array($modx->controller->resource->get('template'), $templates)
|| in_array($modx->controller->resource->get('id'), $ids)
) {
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.