Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

SergDrakus

Пользователи
  
  • Публикаций

    124
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем SergDrakus

  1.  

    вот вы сделали, как костыль :)

    Не нужно лезть в source

    			config: {           // CodeMirror config object
    				mode: 'application/x-httpd-php',
    				lineNumbers: true,
    				width:600,
    				height:300,
    			theme: 'erlang-dark'
    			},
    			cssFiles: [
    				'theme/erlang-dark.css'
    			],
    

    :) Спасибо!

    А насчет отображения в пределах визуального редактора не подскажите?)

  2. не правда, вот работает

     

    1780393852.png

    Не удобно Вас уже спрашивать, но все же спрошу :)

    Можно ли как-то сделать так, чтобы эта конструкция вся открывалась не в отдельном окне поверх страницы сайта, а прямо в визуальном редакторе? 

  3. Да, спасибо. Проблему решил. Ох уж все эти кеши. Вычистил все – OCMOD, cache папку, в браузере. Заработало.
    Собственно зависимость такая. В папке CodeMirror требуется создать еще одну папку Codemirror (туда перетащить Codemirror с официального сайта или взять идущую в сборке 4.20 версию). Выбрать тему любую в файле source.html и внизу подписать строку

    cssFiles: [// Default CSS files'lib/codemirror.css','addon/dialog/dialog.css','theme/3024-night.css']

    Предпоследняя строчка – путь к файлу стилей темы.
     

    39e0e9c3bf19.png

  4. потому что

    		cssFiles: [// Default CSS files
    			'lib/codemirror.css',
    			'addon/dialog/dialog.css'
    		]
    

    Где? не скажу.

    Да, только вот если речь идет про файл source.html, то изменения в нем вообще никак не отражаются на работе и отображении модуля.

     

    Нет, вроде бы все еще толк от его редактирования есть. Только вот замена пункта

    theme: 'default',

    и добавление

    theme/base16-dark.css'

    не помогают.

  5. В файл Header.tpl (для админки) добавил строку:

    <link type="text/css" href="view/javascript/tinymce/plugins/codemirror/theme/base16-dark.css" rel="stylesheet" media="screen" />

    Это путь к файлу стилей для темы.

    В файле Plugin.min.js добавил строку 

    theme: "base16-dark"

    вот в эту конструкцию:

    var config = {
    title: 'HTML source code',
    url: url + '/source.html',
    width: codemirrorWidth,
    theme: "base16-dark",
    height: codemirrorHeight,
    resizable : true,
    maximizable : true,
    fullScreen: editor.settings.codemirror.fullscreen,
    buttons: [
    { text: 'Ok', subtype: 'primary', onclick: function(){
    var doc = document.querySelectorAll('.mce-container-body>iframe')[0];
    doc.contentWindow.submit();
    win.close();
    }},
    { text: 'Cancel', onclick: 'close' }
    ]
    };

    Толку нет, не работает нужная мне тема по-прежнему.

  6. Прежде чем задавать вопрос, покажите что вы делаете?

    Захочу в папку TinyMCE (в папке javascript), затем перехожу в папку plugins, после чего нахожу расширение codemirror (https://github.com/christiaan/tinymce-codemirror). В нем есть три файла – plugin.min.js, plugin.js и source.html. Также есть папка langs с языковыми файлами. В такой связке все работает, но как изменить тему? Я просто не могу найти код, отвечающий за это.

     

    По факту там еще есть папка codemirror-4.8, но от удаления ее редактор работает как и прежде, а значит она не задействуется.

  7. У меня остался последний вопрос, над которым я работаю уже больше двух часов. Как в CodeMirror (подсветка текста) заменить тему на одну из вариантов в папке theme? В какие файлы я не вносил изменения (в пределах папки tinymce), ничего не помогает. Как задний фон был белый (стандратная тема какая-то), таким он и остался.

  8. Задачу решил.

    Вставлял в файл product.php по пути /catalog/controller/product

     

    Нашел строку

    $data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
    заменил на
    $data['description'] = preg_replace( '#\xC2\xA0| #', ' ', html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'));

    Пару раз перезагрузил браузер, почистил все кеши. Обновил страницу с товаром. Все nbsp пропали. Отлично! Огромное спасибо!

  9. при выводе - да

     

    $data['description'] = preg_replace( '#\xC2\xA0| #', ' ', html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'));

     

    но это как-то выглядит, как костыль

     

    предпочитаю читать официальную документацию

     

    entity_encoding: 'raw'

    http://archive.tinymce.com/wiki.php/Configuration3x:entity_encoding

    Увы, но данная конструкция (entity_encoding: 'raw') запрещает отображение nbsp только в админке. Стоит опубликовать материал, как в разметке видны все эти nbsp.

  10. Этот редактор имеет привычку ставить неразрывные пробелы &nbsp. На WordPress я поборол эту проблему тем, что при публикации статьи все неразрывные пробелы напрочь удалялись. Код привожу ниже. Можео ли его как-то абаптироввть под OpenCart?

    function remove_non_breaking_spaces_from_content( $data ) {

    $data['post_content'] = preg_replace( '#\xC2\xA0| #', ' ', $data['post_content'] );

    return $data;

    }

    add_action( 'wp_insert_post_data', 'remove_non_breaking_spaces_from_content' );

  11. Да, в файле summernote.js действительно сам проверяет наличие CodeMirror.

    Тем не менее, не работает. Скорее всего я не там подключения эти скрипты. В какой файл нужно их добавлять?

     

    Вставил в header.tpl (самый верх). Вроде бы все заработало, но есть одна проблема, которая так и не решилась.

     

    Смотрите. Я пишу какой-то текста (2-3 абзаца). В визуальном редакторе все выглядит как нужно, но стоит переключить в исходный код, как весь набранный текст вместе с атрибутами превращается в одну большую кашу. Это очень неудобно, поскольку между абзацами я добавляю видео вручную и изображения анимированные. Как я понимаю, тег <br>, который виден в SummerNote, отвечает за перенос на новую строку.

    Можно ли как-то заставить SummerNote не смешить код в один единый текст?

  12. Потратив два часа времени методом тыка и анализа я нашел в файле filemanager.php строку

    $this->request->get['page'] = isset($this->request->cookie['file_manager']['page']) ? $this->request->cookie['file_manager']['page'] : null;

    Удалил ее к черту и файловый менеджер полноценно заработал.

    За что она вообще отвечает? Что именно препятствовало переключению между страницами?

     

    Также работает вариант поставить на ее место код (из оригинального OpenCart 2.3.0.4.

    if (isset($this->request->get['page'])) {$page = $this->request->get['page'];
    } else {
    $page = 1;
    }

    Стоит ли это делать?

  13. Что ж єто вас так колбасит?

    Чем не устраивает tinymce?

    Хочу все варианты опробовать и выбрать наилучший.

    Вот текст для подключения:

    <!-- include libraries(jQuery, bootstrap) -->
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
    
    <!-- include codemirror (codemirror.css, codemirror.js, xml.js, formatting.js) -->
    <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.css">
    <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/theme/monokai.css">
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/mode/xml/xml.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/codemirror/2.36.0/formatting.js"></script>

    Выводу вот так (файл opencart.js):

    $('.summernote').summernote({
    height: 150, //set editable area's height
    codemirror: { // codemirror options
    theme: 'monokai'
    }
    });

    Действую по инструкции на офф сайте http://summernote.org/examples/#codemirror-as-codeview

  14. Как подключить подсветку кода CodeMirror к редактору SummerNote

    Действовал по инструкции на официальном сайте, подключал через CDN, в Opencart.js добавил подключение этого плагина. В итоге – ничего не изменилось. Инструкций в сети Интернет актуальных я так и не нашел.

  15. При обновлении кеша модификатора в админке (ocmod) всегда появляется ошибка nginx 500. В логах написана ошибка Ошибка

    2017/01/02 18:09:33 [error] 9545#9545: *107735 FastCGI sent in stderr: "PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 83371161 bytes) in /var/www/admin/data/www/site.ru/admin/controller/extension/modification.php on line 779" while reading response header from upstream, client: 91.79.180.34, server: site.ru, request: "GET /admin/index.php?route=extension/modification/refresh&token=jtstiBRnq3PHzb67zVre9NSrMO0yYfV4 HTTP/1.1", upstream: "fastcgi://unix:/var/www/php-fpm/admin.sock:", host: "site.ru", referrer: "https://site.ru/admin/index.php?route=extension/modification&token=jtstiBRnq3PHzb67zVre9NSrMO0yYfV4"

    Изменил в конфигурации PHP значение со 128М до 256М. Ошибка больше не возникает, но обновление кеша занимает 2-4 минуты. Это нормально? В какую сторону копать?

  16. Вот вроде бы код, который отвечает за эту функцию. находится в файле Order.php по пути catalog/model/checkout

    if ($order_info['order_status_id'] && $order_status_id && $notify) {
    $language = new Language($order_info['language_code']);
    $language->load($order_info['language_code']);
    $language->load('mail/order');
    
    
    $subject = sprintf($language->get('text_update_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);
    
    
    $message  = $language->get('text_update_order') . ' ' . $order_id . "\n";
    $message .= $language->get('text_update_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n\n";
    
    
    $order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'");
    
    
    if ($order_status_query->num_rows) {
    $message .= $language->get('text_update_order_status') . "\n\n";
    $message .= $order_status_query->row['name'] . "\n\n";
    }
    
    
    if ($order_info['customer_id']) {
    $message .= $language->get('text_update_link') . "\n";
    $message .= $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_id . "\n\n";
    }
    
    
    if ($comment) {
    $message .= $language->get('text_update_comment') . "\n\n";
    $message .= strip_tags($comment) . "\n\n";
    }
    
    
    $message .= $language->get('text_update_footer');
                    if ($notify) {
                        $mail = new Mail();
                        $mail->protocol = $this->config->get('config_mail_protocol');
                        $mail->parameter = $this->config->get('config_mail_parameter');
                        $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
                        $mail->smtp_username = $this->config->get('config_mail_smtp_username');
                        $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
                        $mail->smtp_port = $this->config->get('config_mail_smtp_port');
                        $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');
    
    
                        $mail->setTo($order_info['email']);
                        $mail->setFrom($this->config->get('config_email'));
                        $mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
                        $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
                        $mail->setText($message);
                        $mail->send();
                    }
    }

    Как его правильно редактировать? Допустим мне нужно просто подписать какой-то текст. Например – «Привет Мир» в заголовке письма.

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.