+29.51
Рейтинг
70.91
Сила

Сергей

  • avatar sersar
  • 0
Надо различные исправления и найденные ошибки внести. Потихоньку собираю такие. Можно тему поднять, чтоб люди написали какие ошибки надо исправить.
  • avatar sersar
  • 1
Вот в фитнес-зале вопросов бы не было, а тут сообщество разработчиков и не понятно откуда у Вас руки растут :-)
  • avatar sersar
  • 0
Что же Вы к людям просить помощи с таким аватаром?
  • avatar sersar
  • 0
Напишите автору шаблона. Возможно он Вам поможет.
  • avatar sersar
  • 0
Сам ответил на вопрос:
если ничего не менять, не срабатывает функция UpdateCategory. Достаточно добавить хотя бы один символ и редактирование проходит.
  • avatar sersar
  • 0
Меня пару раз просили написать с таким функционалом. Просто предложил.
  • avatar sersar
  • 0
Добавь возможность задавать вопрос анонимно и возможность отвечать анонимно.
  • avatar sersar
  • 0
Возникает. Желательно, чтоб была копия аватара размером 250х250. Для изображений под загрузку плагином тоже подбирать большого размера.
Плохого качества фото как стимул загрузить его самому пользователю =)
  • avatar sersar
  • 1
Изменил описание. Так лучше?
  • avatar sersar
  • 0
Не видишь разницы, а она есть =)
  • avatar sersar
  • 1
Принципами работы. Тот плагин массово всем заливает пустые значения аватаром/фото. В моём, не всем сразу. Указано выше в описании как работает.
Для демонстрации могу дать в личку ссылку на демо.
  • avatar sersar
  • 3
а демо можно?
Демо можно. Напишите мне в личку и дам Вам доступ (спамеры достали) к демо сайту.
сколько у вас аваторов и фото в комплекте?
12 мужских и женских. Загрузить можно свои.
  • avatar sersar
  • 1
Я сделал так:
settings.js
var ls = ls || {};

/**
* Различные настройки
*/
ls.skinsettings = (function ($) {

    this.getTinymce = function() {
        return {
            mode : 									"specific_textareas",
            editor_selector : 						"mce-editor",
            theme : 								"advanced",
            content_css : 							DIR_STATIC_SKIN + "/css/reset.css" + "," + DIR_STATIC_SKIN + "/css/tinymce.css?" + new Date().getTime(),
            theme_advanced_toolbar_location : 		"top",
            theme_advanced_toolbar_align : 			"left",
            theme_advanced_buttons1 : 				"fontselect,fontsizeselect,|,lshselect,bold,italic,underline,strikethrough,|bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
            theme_advanced_buttons2 : 				"justifyleft,justifycenter,justifyright,justifyfull,|,tablecontrols,|,forecolor,backcolor",
            theme_advanced_buttons3 : 				"",
            theme_advanced_statusbar_location : 	"bottom",
            theme_advanced_resizing : 				true,
            theme_advanced_resize_horizontal : 		0,
            theme_advanced_resizing_use_cookie : 	0,
            theme_advanced_path : 					false,
            object_resizing : 						true,
            force_br_newlines :						true,
            forced_root_block : 					'', // Needed for 3.x
            /*
             force_p_newlines : 						false,
             */
            //plugins : 								"lseditor,safari,inlinepopups,media,pagebreak,autoresize",
            plugins: "lseditor,safari,autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

            convert_urls : 							false,
            extended_valid_elements : 				"embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
            pagebreak_separator :					"<cut>",
            media_strict : 							false,
            language : 								TINYMCE_LANG,
            inline_styles:							false,
            formats : {
                underline : 	{inline : 'u', exact : true},
                strikethrough : {inline : 's', exact : true}
            }
        }
    };

	return this;
}).call(ls.skinsettings || {},jQuery);

jevix.php
<?php

return array(
	'default' => array(
		// Разрешённые теги
		'cfgAllowTags' => array(
			// вызов метода с параметрами
			array(
				array('ls','cut','a', 'img', 'i', 'b', 'u', 's', 'video', 'em',  'strong', 'nobr', 'li', 'ol', 'ul', 'sup', 'abbr', 'sub', 'acronym', 'h4', 'h5', 'h6', 'br', 'hr', 'pre', 'code', 'object', 'param', 'embed', 'blockquote', 'iframe','table','th','tr','td','p','span'),
			),			
		),
		// Коротие теги типа
		'cfgSetTagShort' => array(
			array(
				array('br','img', 'hr', 'cut','ls')
			),
		),
		// Преформатированные теги
		'cfgSetTagPreformatted' => array(
			array(
				array('pre','code','video')
			),
		),
		// Разрешённые параметры тегов
		'cfgAllowTagParams' => array(
			// вызов метода
			array(
				'img',
				array('src', 'alt' => '#text', 'title', 'align' => array('right', 'left', 'center', 'middle'), 'width' => '#int', 'height' => '#int', 'hspace' => '#int', 'vspace' => '#int', 'class'=> array('image-center'))
			),
			// следующий вызов метода
			array(
				'a',
				array('title', 'href', 'rel' => '#text', 'name' => '#text', 'target' => array('_blank'))
			),
			// и т.д.
			array(
				'cut',
				array('name')
			),
			array(
				'object',
				array('width' => '#int', 'height' => '#int', 'data' => array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')), 'type' => '#text')
			),
			array(
				'param',
				array('name' => '#text', 'value' => '#text')
			),
			array(
				'embed',
				array('src' => array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')), 'type' => '#text','allowscriptaccess' => '#text', 'allowfullscreen' => '#text','width' => '#int', 'height' => '#int', 'flashvars'=> '#text', 'wmode'=> '#text')
			),
			array(
				'acronym',
				array('title')
			),
			array(
				'abbr',
				array('title')
			),
			array(
				'iframe',
				array('width' => '#int', 'height' => '#int', 'src' => array('#domain'=>array('youtube.com','rutube.ru','vimeo.com','1tv.ru')))
			),
			array(
				'ls',
				array('user'=>'#text')
			),
			array(
				'td',
				array('colspan'=>'#int','rowspan'=>'#int','align'=>array('right', 'left', 'center', 'justify'),'height'=>'#int','width'=>'#int')
			),
			array(
				'table',
				array('style'=>'#text','border'=>'#int','cellpadding'=>'#int','cellspacing'=>'#int','align'=>array('right', 'left', 'center'),'height'=>'#int','width'=>'#int')
			),
            array(
                'p',
                array('style'=>'#text')
            ),
            array(
                'span',
                array('style'=>'#text')
            ),
		),
		// допустимые комбинации значений у параметров
		'cfgSetTagParamCombination' => array(
			array(
				'param',
				'name',
				array(
					'allowScriptAccess' => array(
						'value'=>array('sameDomain'),
					),
					'movie' => array(
						'value'=>array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')),
					),
					'align' => array(
						'value'=>array('bottom','middle','top','left','right'),
					),
					'base' => array(
						'value'=>true,
					),
					'bgcolor' => array(
						'value'=>true,
					),
					'border' => array(
						'value'=>true,
					),
					'devicefont' => array(
						'value'=>true,
					),
					'flashVars' => array(
						'value'=>true,
					),
					'hspace' => array(
						'value'=>true,
					),
					'quality' => array(
						'value'=>array('low','medium','high','autolow','autohigh','best'),
					),
					'salign' => array(
						'value'=>array('L','T','R','B','TL','TR','BL','BR'),
					),
					'scale' => array(
						'value'=>array('scale','showall','noborder','exactfit'),
					),
					'tabindex' => array(
						'value'=>true,
					),
					'title' => array(
						'value'=>true,
					),
					'type' => array(
						'value'=>true,
					),
					'vspace' => array(
						'value'=>true,
					),
					'wmode' => array(
						'value'=>array('window','opaque','transparent'),
					),
				),
				true, // Удалять тег, если нет основного значения параметра в списке комбинаций
			),
		),
		// Параметры тегов являющиеся обязательными
		'cfgSetTagParamsRequired' => array(
			array(
				'img',
				'src'
			),			
		),
		// Теги которые необходимо вырезать из текста вместе с контентом
		'cfgSetTagCutWithContent' => array(
			array(
				array('script',  'style')
			),
		),
		// Вложенные теги
		'cfgSetTagChilds' => array(
			array(
				'ul',
				array('li'),
				false,
				true
			),
			array(
				'ol',
				array('li'),
				false,
				true
			),
			array(
				'object',
				'param',
				false,
				true
			),
			array(
				'object',
				'embed',
				false,
				false
			),
			array(
				'table',
				array('tr'),
				false,
                //true sersar 02.07.2015
                false
			),
			array(
				'tr',
				array('td','th'),
				false,
				true
			),
		),
		// Если нужно оставлять пустые не короткие теги
		'cfgSetTagIsEmpty' => array(
			array(
				array('param','embed','a','iframe')
			),
		),
		// Не нужна авто-расстановка 
		'cfgSetTagNoAutoBr' => array(
			array(
				array('ul','ol','object','table','tr')
			)
		),
		// Теги с обязательными параметрами
		'cfgSetTagParamDefault' => array(
			array(
				'embed',
				'wmode',
				'opaque',
				true
			),
		),
		// Отключение авто-добавления 
		'cfgSetAutoBrMode' => array(
			array(
				//true
				false // sersar 02.07.2015
			)
		),
		// Автозамена
		'cfgSetAutoReplace' => array(
			array(
				array('±', '©', '©', '®', '©', '©', '®'),
				array('±', '©', '©', '®', '©', '©', '®')
			)
		),
		// Список допустимых протоколов для ссылок
		'cfgSetLinkProtocolAllow' => array(
			array(
				array('http','https','ftp')
			)
		),
		'cfgSetTagNoTypography' => array(			
			array(
				array('code','video','object')
			),
		),
		// Теги, после которых необходимо пропускать одну пробельную строку
		'cfgSetTagBlockType' => array(
			array(
				array('h4','h5','h6','ol','ul','blockquote','pre','table','iframe')
			)
		),
		'cfgSetTagCallbackFull' => array(
			array(
				'ls',
				array('_this_','CallbackTagLs'),
			),
		),
	),
	
	// настройки для обработки текста в результатах поиска
	'search' => array(
		// Разрешённые теги
		'cfgAllowTags' => array(
			// вызов метода с параметрами
			array(
				array('span'),
			),			
		),
		// Разрешённые параметры тегов
		'cfgAllowTagParams' => array(
			array(
				'span',
				array('class' => '#text')
			),			
		),
	),
);

В файле шаблона editor.tpl изменить:
{assign var="sSettingsTinymce" value="ls.skinsettings.getTinymce()"}
  • avatar sersar
  • 0
И? В исходном тексте при просмотре топика проходят теги?
  • avatar sersar
  • 0
Решение есть. В jevix прописал разрешения?
  • avatar sersar
  • 0
Уже начал переживать, что что-то vOFFka давно ничего не спрашивал. Рад, что всё в процессе :-)
  • avatar sersar
  • 0
Это немного другая задача. Но идея понятна.
  • avatar sersar
  • 1
Руки не доходят. Будет исправлено.
  • avatar sersar
  • 1
Сделать можно всё, что угодно! =)
  • avatar sersar
  • 4
С наступающим!
+1 :-)