Добавил в ocStore 1.5.2.1 KCFinder, однако пока реализован не полный функционал. На других версиях думаю будет так же встраиваться.
ПОМОЩЬ:
Реализовано:
- загрузка и вставка изображений в описаниях к товарам, статьям, производителям, категориям (в редакторе):
Описание:
Будем рассматривать установку "KCFinder" в каталог администратора "admin".
1) Скачиваем "KCFinder" последней версии. На текущий момент последняя 2.51.
2) Каталог из архива переименуем в "kcfinder", чтобы в дальнейшем при обновлении kcfinder-а не надо было править постоянно файлы сайта (я переименовал "kcfinder-2.51" в "kcfinder").
3) Заливаем каталог "kcfinder" в каталог "САЙТ.РУadminviewjavascript".
4) Правим файлы сайта в каталоге "САЙТ.РУadminviewtemplatecatalog". Файлы для правки:
- category_form.tpl
- information_form.tpl
- manufacturer_form.tpl
- product_form.tpl
Находим во всех файлах:
<!--?php foreach ($languages as $language) { ?-->
CKEDITOR.replace('description<!--?php echo $language['language_id']; ?-->', {
filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<!--?php echo $token; ?-->',
filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=<!--?php echo $token; ?-->',
filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=<!--?php echo $token; ?-->',
filebrowserUploadUrl: 'index.php?route=common/filemanager&token=<!--?php echo $token; ?-->',
filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=<!--?php echo $token; ?-->',
filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=<!--?php echo $token; ?-->'
});
<!--?php } ?-->
Заменяем на:
<!--?php foreach ($languages as $language) { ?-->
CKEDITOR.replace('description<!--?php echo $language['language_id']; ?-->', {
filebrowserBrowseUrl : '/admin/view/javascript/kcfinder/browse.php?type=files',
filebrowserImageBrowseUrl : '/admin/view/javascript/kcfinder/browse.php?type=images',
filebrowserFlashBrowseUrl : '/admin/view/javascript/kcfinder/browse.php?type=flash',
filebrowserUploadUrl : '/admin/view/javascript/kcfinder/upload.php?type=files',
filebrowserImageUploadUrl : '/admin/view/javascript/kcfinder/upload.php?type=images',
filebrowserFlashUploadUrl : '/admin/view/javascript/kcfinder/upload.php?type=flash'
});
<!--?php } ?-->
5) Правим в файле "admin/view/javascript/kcfinder/config.php" строку под свои нужды:
'uploadURL' => "upload",
Я указал:
'uploadURL' => "/image/data/",
и он для себя создал в этом каталоге подкаталоги "images", "flash", "files".
Всё. Теперь в текст описания можно вставлять картинки с помощью "KCFinder".
ВНИМАНИЕ: так как пока KCFinder не завязан на сессии, то зная путь к KCFinder, можно загружать фото и файлы на сервер без авторизации, поэтому настоятельно рекомендую переименовать каталог администратора, незабудьте и пути поправить в "Заменяем на:". После переименования каталога администратора поправьте его имя в файлах:
- "САЙТ.РУadminconfig.php"
- "САЙТ.РУconfig.php"
ОБРАЩЕНИЕ К ПРОФИ:
Не реализовано:
- выбор изображение самого товара (так и используется встроенный менеджер):
- работа с сессиями.
1) Кто поможет сделать так, чтобы и изображения самого товара указывать с помощью KCFinder, на вкладке данные?
В вышеуказанных файлах есть места:
<script type="text/javascript"><!--
function image_upload(field, thumb) {
$('#dialog').remove();
$('#content').prepend('<div id="dialog" style="padding: 3px 0px 0px 0px;"><iframe src="index.php?route=common/filemanager&token=<?php echo $token; ?>&field=' + encodeURIComponent(field) + '" style="padding:0; margin: 0; display: block; width: 100%; height: 100%;" frameborder="no" scrolling="auto"></iframe></div>');
И вот здесь и надо как-то врезать:
admin/view/javascript/kcfinder/browse.php?type=images
Пробовал, но открывался только KCFinder и просматривались изображения, но не выбираются изображения по двойному клику как это происходит в родном менеджере изображений.
2) Кто поможет настроить работу KCFinder с сессиями, чтобы уже на 100% защититься от загрузки изображений на сервер неавторизированными пользователями (любым прохожим).
Надеюсь на помощь, для всеобщего блага.