Jump to content

TinyMCE Обновление до 4 версии


Go to solution Solved by Kosjak76,

Recommended Posts

лично для меня решение, поиск на сайте от яндекса, в категориях, блоге и страницах писал и пишу их ручками, для товарах вывод по шаблону "наме, купить, цена, ...", я сеошник а не программист, тут мало кто пишет что-то бесплатно, думаю кому-то и мой пост полезен

Link to post
Share on other sites
  • Replies 99
  • Created
  • Last Reply

Top Posters In This Topic

  • Solution

Итак, полностью рабочий вариант:

<script language="javascript" type="text/javascript" src="design/js/tinymce/tinymce.min.js"></script>
<script language="javascript">
tinymce.init({
    selector: "textarea.editor_large,textarea.editor_small",
    language : "ru",
    plugins: [
        "advlist autolink lists link image charmap print preview hr anchor pagebreak",
        "searchreplace wordcount visualblocks visualchars code fullscreen",
        "insertdatetime media nonbreaking save table contextmenu directionality",
        "emoticons template paste textcolor colorpicker textpattern responsivefilemanager"
   ],
   toolbar1: "undo redo | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | styleselect",
   toolbar2: "| responsivefilemanager | link unlink anchor | image media | forecolor backcolor  | print preview code ",
   image_advtab: true ,
   
   external_filemanager_path:"/{$config->subfolder}simpla/design/js/filemanager/",
   filemanager_title:"Responsive Filemanager" ,
   external_plugins: { "filemanager" : "../../../../simpla/design/js/filemanager/plugin.min.js"},
		setup : function(ed) {
		if(typeof set_meta == 'function')
		{
			ed.on('keyUp', function() {
    			set_meta();
			});
			ed.on('change', function() {
    			set_meta();
			});
		}
	}
	{literal}}{/literal});
	function myCustomGetContent( id ) {
		if( typeof tinymce != "undefined" ) {
			var editor = tinymce.get( id );
			if( editor && editor instanceof tinymce.Editor ) {
				return editor.getContent{literal}({format : 'text'}{/literal}).substr(0, 512);
			} else {
				return  jQuery('textarea[name='+id+']').val().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);
			}
		}
		return '';
	}
</script>

tinymce_init.tpl

 

В остальных шаблонах меняем

function generate_meta_description()

{

	if(typeof(tinyMCE.get("annotation")) =='object')

	{

		description = tinyMCE.get("annotation").getContent().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);

		return description;

	}

	else

		return $('textarea[name=annotation]').val().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);

}

На 

function generate_meta_description()

{
 

	if( typeof tinymce != "undefined" )

	{

		return myCustomGetContent( "annotation" );

	}

	else

		return $('textarea[name=annotation]').val().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);
}

Это там где есть краткое описание. Там где нет:

function generate_meta_description()

{

	if( typeof tinymce != "undefined" )

	{

		return myCustomGetContent( "body" );

	}

	else

		return $('textarea[name=body]').val().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);

}

Проверяйте, пробуйте, пишите если что.

Link to post
Share on other sites

Далее в файле /simpla/design/js/filemanager/config/config.php прописываем нужные адреса к нашей папке с загрузками

require_once('../../../../api/Simpla.php');
$simpla = new Simpla();
$base_url =
	// Get HTTP/HTTPS
	((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && !in_array(strtolower($_SERVER['HTTPS']),array('off','no'))) ? 'https' : 'http').
	'://'.
	// Get domain portion
	$_SERVER['HTTP_HOST']; // DON'T TOUCH (base url (only domain) of site (without final /)).
$upload_dir = '/'.$simpla->config->subfolder.'files/uploads/';
$current_path = '../../../../files/uploads/';
$thumbs_base_path = '../../../../files/thumbs/';

Вот с такими настройками у меня работает нормально на локалке. На хосте не пробовал.

Link to post
Share on other sites

А в остальных шаблонах - это в каких, можно уточнить? Автозаполнения у меня вот тоже пропало ((

 

Кстати косяк с последним кодом, который "Итак, полностью рабочий вариант:" - если его вставить перестает работать загрузчик почему-то http://take.ms/OXAQZ

Link to post
Share on other sites

Вот с этим может слабо у меня, а в каких именно шаблонах нужно поменять?

 

кстати камень в огород разрабам tinymce - в 4 версии зачем-то убрали разграничение по отступам у картинок, теперь можно задать только слева/справа или сверху/снизу. ((( Раньше было лучше - индивидуальная настройка

Link to post
Share on other sites
  • 2 weeks later...

У меня все работает, в шаблонах функции меняли?

 

Спасибо все работает!  :) Правда пришлось убрать из tinymce_init.tpl:

external_filemanager_path:"/{$config->subfolder}simpla/design/js/filemanager/",

{$config->subfolder}

 

Тоже самое из файла:

 /simpla/design/js/filemanager/config/config.php

Иначе было как у Acerus: "Не удается преобразовать dns-адрес сервера"

 

P.S Автозаполнение работает.

Edited by Rash
Link to post
Share on other sites

Пробуйте вариант выше, на локалке работает с таким, на сервере надо проверять.

 

<script language="javascript" type="text/javascript" src="design/js/tinymce/tinymce.min.js"></script>
{literal}
<script language="javascript">
tinymce.init({
    selector: "textarea.editor_large,textarea.editor_small",
    language : "ru",
    plugins: [
        "advlist autolink lists link image charmap print preview hr anchor pagebreak",
        "searchreplace wordcount visualblocks visualchars code fullscreen",
        "insertdatetime media nonbreaking save table contextmenu directionality",
        "emoticons template paste textcolor colorpicker textpattern responsivefilemanager"
   ],
   toolbar1: "undo redo | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | styleselect",
   toolbar2: "| responsivefilemanager | link unlink anchor | image media | forecolor backcolor  | print preview code ",
   image_advtab: true ,
   
   external_filemanager_path:"/simpla/design/js/filemanager/",
   filemanager_title:"Файловый менеждер" ,
   external_plugins: { "filemanager" : "/simpla/design/js/filemanager/plugin.min.js"},
        setup : function(ed) {
        if(typeof set_meta == 'function')
        {
            ed.on('keyUp', function() {
                set_meta();
            });
            ed.on('change', function() {
                set_meta();
            });
        }
    }
    {literal}}{/literal});
    function myCustomGetContent( id ) {
        if( typeof tinymce != "undefined" ) {
            var editor = tinymce.get( id );
            if( editor && editor instanceof tinymce.Editor ) {
                return editor.getContent{literal}({format : 'text'}{/literal}).substr(0, 512);
            } else {
                return  jQuery('textarea[name='+id+']').val().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);
            }
        }
        return '';
    }
</script>
{/literal}
 

вот в таком виде на сервере пашет... 

Link to post
Share on other sites

но что то в брендах нет автозаполнения... и ошибки нет...

 

<textarea name="description" class="editor_large">{$brand->description|escape}</textarea>

 

description прописал, где то не привязывается к

 

<textarea name="meta_description" class="simpla_inp" />{$brand->meta_description|escape}</textarea>

Link to post
Share on other sites
  • 1 month later...

Друзья, работает этот вариант? Ничего другого не слетает? Подстановка описания и т.д., т.к. в последних постах непонятные сообщения пугают про не работающую автоподстановку описание и т.д. 

Link to post
Share on other sites

Друзья, работает этот вариант? Ничего другого не слетает? Подстановка описания и т.д., т.к. в последних постах непонятные сообщения пугают про не работающую автоподстановку описание и т.д. 

 

Ставил как описывал Kosjak76, автозаполнение работает причем везде, а именно в брендах, в статьях, при создании новой страницы или товара.

Link to post
Share on other sites
  • 3 weeks later...

Там где нет описание -пишем

function generate_meta_description()

{

	if( typeof tinymce != "undefined" )

	{

		return myCustomGetContent( "description" );

	}

	else

		return $('textarea[name=description]').val().replace(/(<([^>]+)>)/ig," ").replace(/(\ )/ig," ").replace(/^\s+|\s+$/g, '').substr(0, 512);

}

Edited by larenso
Link to post
Share on other sites
  • 4 months later...

Так и не смог подключить

Может инструкцию если не затруднит напишет какой-нибудь добрый человек)))

Так же из-за кучи сообщений в теме не понял плюсы и минусы

Всем заранее спасибо

Link to post
Share on other sites

Пожалуйста  :)

Спасибо за помощь - думаю будет и остальным полезно.

 

Действительно всё работает - проверил на хосте. Кто не справился - пишите, закину всё в один пост. Всё есть в предыдущих постах - и файлы которые менять надо, и откуда скачать и т.д. и т.п. Единственное чего не хватало - выложил Rash (за что ему ещё раз спасибо!)

Link to post
Share on other sites

 

А можно наглядно объяснить чем 4-я версия лучше? У нее больше возможностей?

Вы насколько ленивый, что не можете почитать на первой странице?

Link to post
Share on other sites
  • 2 weeks later...

Спасибо за помощь - думаю будет и остальным полезно.

 

Действительно всё работает - проверил на хосте. Кто не справился - пишите, закину всё в один пост. Всё есть в предыдущих постах - и файлы которые менять надо, и откуда скачать и т.д. и т.п. Единственное чего не хватало - выложил Rash (за что ему ещё раз спасибо!)

Если можно закиньте, где какие изменения

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...