Ответить Новая тема Новый опрос 
Всего: 4 1 2 3 4 >
 HTML редактор описания категорий
mariannabrava
Новичок
Сообщений: 40
Регистрация: 15-06-2011


15-09-2011 20:25
Ребят, подскажите есть возможность прикрутить к полю описания категорий такой же редактор, как к примеру в описании товара? то есть чтоб он адекватно теги обрабатывал.

Или если есть темя на форуме, ткните носом, а то поиск не выдал ничего путью...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
gsv1982


Новичок
Сообщений: 33
Откуда: Чернигов
Регистрация: 16-03-2011


16-09-2011 04:58
Нужно править исходники. Покопавшись в коде выяснилось, что для того чтоб не срабатывал strip_tags в описаниях категорий нужно заменить функцию getTranslationsFieldsChild() в classes/Category.php на то что снизу


public function getTranslationsFieldsChild()
{
parent::validateFieldsLang();

$fieldsArray = array('name', 'link_rewrite', 'meta_title', 'meta_keywords', 'meta_description');
$fields = array();
$languages = Language::getLanguages();
$defaultLanguage = Configuration::get('PS_LANG_DEFAULT');
foreach ($languages as $language)
{
$fields[$language['id_lang']]['id_lang'] = $language['id_lang'];
$fields[$language['id_lang']][$this->identifier] = intval($this->id);
$fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? pSQL($this->description[$language['id_lang']], true) : '';
foreach ($fieldsArray as $field)
{
if (!Validate::isTableOrIdentifier($field))
die(Tools::displayError());

/* Check fields validity */
if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']]))
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']]);
elseif (in_array($field, $this->fieldsRequiredLang))
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]);
else
$fields[$language['id_lang']][$field] = '';
}
}
return $fields;

}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
gsv1982


Новичок
Сообщений: 33
Откуда: Чернигов
Регистрация: 16-03-2011


16-09-2011 04:59
ВИзуальный редактор не появится зато можно вводить хтмл. Для визуального редактора нужно править AdminCategories.php.
Ищем там <textarea name="description_.... и исправляем на <textarea class="rte" name="description_....
Дальше после </form> вставляем:

<script type="text/javascript" src="'.__PS_BASE_URI__.'js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : "safari,pagebreak,style,layer,table,advimage,advlink,inlinepopups,media,searchreplace,contextmenu,paste,directionality,fullscreen",
// Theme options
theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,pagebreak",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : false,
content_css : "'.__PS_BASE_URI__.'themes/'._THEME_NAME_.'/css/global.css",
document_base_url : "'.__PS_BASE_URI__.'",
width: "600",
height: "auto",
font_size_style_values : "8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt",
elements : "nourlconvert,ajaxfilemanager",
file_browser_callback : "ajaxfilemanager",
entity_encoding: "raw",
convert_urls : false,
language : "'.(file_exists(_PS_ROOT_DIR_.'/js/tinymce/jscripts/tiny_mce/langs/'.$iso.'.js') ? $iso : 'en').'"

});
function ajaxfilemanager(field_name, url, type, win) {
var ajaxfilemanagerurl = "'.dirname($_SERVER["PHP_SELF"]).'/ajaxfilemanager/ajaxfilemanager.php";
switch (type) {
case "image":
break;
case "media":
break;
case "flash":
break;
case "file":
break;
default:
return false;
}
tinyMCE.activeEditor.windowManager.open({
url: "'.dirname($_SERVER["PHP_SELF"]).'/ajaxfilemanager/ajaxfilemanager.php",
width: 782,
height: 440,
inline : "yes",
close_previous : "no"
},{
window : win,
input : field_name
});

}
toggleVirtualProduct(getE(\'is_virtual_good\'));
unitPriceWithTax(\'unit\');';

$categoryBox = Tools::getValue('categoryBox', array());

echo '
$(function() {
$.ajax({
type: \'POST\',
url: \'ajax_category_list.php\',
data: \''.(sizeof($categoryBox) > 0 ? 'categoryBox='.serialize($categoryBox).'&' : '').'id_product='.$obj->id.'&id_category_default='.($this->getFieldValue($obj, 'id_category_default') ? $this->getFieldValue($obj, 'id_category_default') : Tools::getValue('id_category', 1)).'&id_category='.(int)(Tools::getValue('id_category')).'&token='.$this->token.'\',
async : true,
success: function(msg) { $(\'#tr_categories\').replaceWith(msg); }
});
});</script>
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
mariannabrava
Новичок
Сообщений: 40
Регистрация: 15-06-2011


16-09-2011 14:58
Огромное вам спасибо! буду пробовать)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
tat911
Новичок
Сообщений: 1
Регистрация: 06-10-2011


06-10-2011 04:45
А мне помогло такое решение. Версия Prestashop 1.4.4.0
Для визуального редактора нужно править AdminCategories.php.
Ищем там <textarea name="description_.... и исправляем на <textarea class="rte" name="description_....
Дальше после </form> вставляем:
';
// TinyMCE
global $cookie;
$iso = Language::getIsoById((int)($cookie->id_lang));
$isoTinyMCE = (file_exists(_PS_ROOT_DIR_.'/js/tiny_mce/langs/'.$iso.'.js') ? $iso : 'en');
$ad = dirname($_SERVER["PHP_SELF"]);
echo '
<script type="text/javascript">
var iso = \''.$isoTinyMCE.'\' ;
var pathCSS = \''._THEME_CSS_DIR_.'\' ;
var ad = \''.$ad.'\' ;
</script>
<script type="text/javascript" src="'.__PS_BASE_URI__.'js/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="'.__PS_BASE_URI__.'js/tinymce.inc.js"></script>
<script type="text/javascript">
toggleVirtualProduct(getE(\'is_virtual_good\'));
unitPriceWithTax(\'unit\');
</script>
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
decorator
Новичок
Сообщений: 2
Регистрация: 17-09-2011


26-10-2011 18:28
Добрый день!
Поправил AdminCategories.php по совету tat911, редактор появился, но изменения не сохраняются. Сам текст сохраняется, а выравнивание, размер и цвет шрифта нет, не подскажите что не так?
Спасибо!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
decorator
Новичок
Сообщений: 2
Регистрация: 17-09-2011


26-10-2011 19:29
Спасибо! Не поправил getTranslationsFieldsChild(). Все работает
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ExteZI
Новичок
Сообщений: 7
Регистрация: 14-07-2011


27-11-2011 06:13
помогло, спасибо)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
grabos
Cпециалист
Сообщений: 138
Регистрация: 24-05-2010


27-11-2011 14:01
а можно такой же редактор прикрутить к модулю новостей?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
prinsibir
Новичок
Сообщений: 8
Регистрация: 02-09-2011


29-11-2011 21:25
спасибо! привет Украине.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 4 1 2 3 4 >