А так же о всякой фигне
В угоду модному bootstrap разработчики опенкарта сменили текстовый редактор. Теперь во второй версии опенкарта используется summernote, который несравним по возможностям с ckeditor. Для того чтобы подключить ckeditor к opencart 2 делаем следующее:
Скачиваем ckeditor и распаковываем его в /admin/view/javascript/
Отключаем summernote, заходим в /admin/view/template/common/header.tpl и удаляем строчки:
<link href="view/javascript/summernote/summernote.css" rel="stylesheet" /> <script type="text/javascript" src="view/javascript/summernote/summernote.js"></script>
Тут же подключаем ckeditor, добавляем:
<script type="text/javascript" src="view/javascript/ckeditor/ckeditor.js"></script>
Затем заходим в /admin/view/template/catalog/product_form.tpl, находим строчку:
$('#input-description<?php echo $language['language_id']; ?>').summernote({height: 300});
И меняем её на:
CKEDITOR.replace( 'input-description<?php echo $language['language_id']; ?>' );
Далее нам нужно подключить файлменеджер, иначе мы не сможем добавлять изображения к тексту. Скачиваем kcfinder и распаковываем его в корень сайта в папку /kcfinder.
Открываем конфиг /kcfinder/conf/config.php, в секции
// GENERAL SETTINGS 'disabled' => true, 'uploadURL' => "upload", 'uploadDir' => "", 'theme' => "default",
Меняем на
// GENERAL SETTINGS 'disabled' => false, 'uploadURL' => "/image/catalog", 'uploadDir' => "../image/catalog", 'theme' => "default",
После этого пробуем открыть страницу http://Ваш-сайт/kcfinder/. Если всё сделано правильно, должен открыться менеджер файлов.
Теперь нам нужно закрыть доступ к менеджеру файлов неавторизованным пользователям. В самом верху конфига добавляем:
session_start(); if(!isset($_SESSION['user_id']))die(''); if($_SESSION['user_id']!=1)die('');
Если Вы работаете не от админа, созданного при установке opencart, то в строчке
if($_SESSION['user_id']!=1)die('');
вместо "1" нужно подставить Ваш id пользователя. Более красивую проверку прав отложим на будущее. Далее нужно научить ckeditor пользоваться менеджером файлов. Открываем конфиг: /admin/view/javascript/ckeditor/config.js
Дописываем функцию:
CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; // config.uiColor = '#AADC6E'; config.filebrowserBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=files'; config.filebrowserImageBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=images'; config.filebrowserFlashBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=flash'; config.filebrowserUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=files'; config.filebrowserImageUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=images'; config.filebrowserFlashUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=flash'; };
Проверяем работоспособность: заходим в редактирование товара и пробуем добавить изображение. Если всё сделали правильно, в меню выбора изображения появится кнопка "Выбор на сервере", по клику на которую откроется менеджер файлов. В случае если при загрузке файла появляется ошибка "Unnown error", тогда в файле: /kcfinder/core/clas/browser.php в функции protected function postDir($existent=true) нужно закомментировать или удалить 2 строчки:
if (!$this->checkFilePath($dir)) $this->errorMsg("Unknown error.-");
Теперь осталось подключить эдитор к остальным страницам. Заходим в каждый шаблон и меняем строчку:
$('#input-description<?php echo $language['language_id']; ?>').summernote({ height: 300 });
На
CKEDITOR.replace( 'input-description<?php echo $language['language_id']; ?>' );
Вывод текста на определённой странице wordpress
Стандартный функционал wordpress не позволяет вывести текст в сайдбаре только на одной конкретной странице.
Кнопки социальных сетей для wordpress
На сегодняшний день существует множество плагинов, позволяющих установить кнопки социальных сетей на wordpress. Но не все из них одиноково полезны.