Главное меню
все форумы все темы форума добавить тему
WYSIWYG в редакторе статичных блоков.
Доброго времени суток! Прошу помощи в столь простом вопрсе, как установка WYSIWYG-редактора на страницу редактирования статичных блоков, по аналогии со стандартными страницами. Самому не получается  
Чтобы добавить WYSIWYG-редактор надо добавить в шаблон код:
Smarty
{include file="../default/WYSIWYG/editor.tpl" field="page_text"}

где в поле field содержится id текстового поля, к которому нужно прикрепить редактор.
В редакторе блоков текстовое поле выглядит так:
Smarty
<p>
        {t}Данные{/t}<br />
        <textarea name="data" cols="50" rows="10">
                {$smarty.post.data|default:$data|escape}
        </textarea>
</p>

То есть id у него нет. Добавим его самостоятельно:
Smarty
<p>
        {t}Данные{/t}<br />
        <textarea id="page_text" name="data" cols="50" rows="10">
                {$smarty.post.data|default:$data|escape}
        </textarea>
</p>

Теперь, если подключить визуальный редактор, то он автоматически подцепится к этому полю.
Спасибо, всё помогло. Приблизительно подобную реализацию и ожидал, но сам не разобрался. Thx, Loki!
 
UPD: По ходу дела возник ещё один вопрос. Бьюсь, но безрезультатно. К сожалению, мои знания java невысоки. Дефолтно TinyMCE заменяет поле ввода при нажатии на кнопочку "Вкл/Выкл". Возможно ли сделать, что бы при загрузке он уже заменял это поле, а кнопочка так же и осталась работоспособной. Спасибо !
При клике на ссылку "вкл/выкл" происходит вызов JavaScript функции mce_init();
Так что можно вставить вызов  этой функции при загрузке страницы
Smarty
<script type="text/javascript">mce_init();</script>

или добавить вызов этой функции прямо в файл skins/default/WYSIWYG/editor.tpl, тогда редактор всегда будет отображаться при редактировании.
Я втавил WYSIWYG в редактор стат. блоков на многих сайтах, и всё работает, как положено. Но только на самом первом разрешает вставлять изображения через тини браузер.
 
В остальных случаях пишет такое:
 
клик
 
Разница в том, что первый сайт стоит на вдс, а остальные на шаред хостинге.
Может быть проблема с правами? Подскажите... Пока буду пробовать искать выход сам.
 
UPD: Поставил права 771 на папку tiny_mce в стандартном шаблоне. Теперь разрешает.
Нет, дело не в этом. Файловый менеджер стоит немного особняком от системы, поэтому данные о разрешениях передаются в него через сессию. То есть в сессию помещается ключик, который показывает что пользователь может загружать файлы на сервер.
Чтобы установить этот ключик надо вызвать метод
PHP
LabCMS::i()->setAllowFileUpload();

или зайти на главную страницу админки, где он устанавливается автоматически.
Так что дело не в правах - просто сначала Вы попытались вызвать файловый менеджер из модуля, который этого не предусматривал, а потом сделали тоже самое, предварительно зайдя на главную страницу админки.
Этот ключик можно встроить в требуемый мне модуль?
Если да, то в каком месте его вставлять )
Не подумайте, что у меня нету инициативы, я бы повозился, но нету времени. Просто сайты рабочие, и мне меньше чем через час нужно их показать. А тут такое
 
UPD: НА одном настроил, заработало. Всё ок. А вот на другом не хочет И после захода в админку, и после очистки кеша и кеша шаблонов... И после того, как права дал
 
UPD2: Я так и не понял, что я сделал. Сейчас всё можно стало. Но не после входа в админку... Я просто побегал по страницам админки, потыкал... Потом вернулся обратно - всё есть, каталоги загрузки созданы и разрешено туда лить. Странно. Но тем не менее спасибо, что подсказали. Права на папки поставил дефолтные.
Вставлять в том месте, где будет рисоваться форма комментария...
Или в index.php модуля вставить что-то вроде
PHP
if (access('admin')) LabCMS::i()->setAllowFileUpload();
Обязательно вставлю, проверю. Отпишусь. А пока я понял, после чего даёт доступ - после того, как я захожу на страницу редактирования текстовых страниц в админке.
 
Это не форма коментария - это в редакторе статичных блоков. Сделано, что бы юзер мог в статичный блок загружать картинки из-под интерфейса сайта, а не только писать в статичных блоках текст.