1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Проблемы с Mosets Tree на русском языке

Тема в разделе "Joomla", создана пользователем zverOK, 27 июн 2008.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. zverOK

    zverOK Постоялец

    Регистр.:
    15 фев 2008
    Сообщения:
    133
    Симпатии:
    115
    Проблема такова.

    Поставил
    Joomla_1.0.15-Stable-Full_Package(http://joomlaportal.ru),
    Mosets Tree v2.0.7 Build127(http://www.nulled.ws/showthread.php?t=64431),
    рус. язык для Mosets Tree v2.0.7(http://www.mosets.com/forum/showthread.php?t=5420).

    При заполнении поля Description(Описание) на Английском языке - в Summary View(просмотр списка материалов в категории) отображается всё правильно, т.е. полное описание обрезается, по умолчанию, до 255 символов.
    А как начал заполнять на русском языке поле Description(Описание) - в Summary View(просмотр списка материалов в категории) отображается всё описание полностью, как и в Детальном просмотре материала. Хотя должен был включить в Summary View только 255 символов из полного описания.

    Кодировка везде CP-1251.

    Даже не знаю куда копать :nezn:
     
  2. PhantomUA

    PhantomUA Инквизитор

    Moderator
    • Супермодератор
    Регистр.:
    2 июл 2006
    Сообщения:
    759
    Симпатии:
    1.640
    Проверил все в норме на 1,0,13 и 1,0,15.... Так что даже не знаю что там у тебя за причина.... :nezn:
    [​IMG]
     
    zverOK нравится это.
  3. PhantomUA

    PhantomUA Инквизитор

    Moderator
    • Супермодератор
    Регистр.:
    2 июл 2006
    Сообщения:
    759
    Симпатии:
    1.640
    Выяснили причину... Не работает обрезка при PHP5... Решение найдено... Опубликую чуть позже..

    P.S. Решение:
    1. Заходим в базу. Таблица jos_mt_fieldtypes - поле coredesc
    2. Меняем значение ft_class на:
    Код:
    class mFieldType_coredesc extends mFieldType {
    	var $name = 'link_desc';
    	function parseValue($value) {
    		$params['stripAllTagsBeforeSave'] = $this->getParam('stripAllTagsBeforeSave',0);
    		$params['allowedTags'] = $this->getParam('allowedTags','u,b,i,a,ul,li,pre,br,blockquote');
    		if($params['stripAllTagsBeforeSave']) {
    			$value = $this->stripTags($value,$params['allowedTags']);
    		}
    		return $value;		
    	}
    	function getInputHTML() {
    		global $mtconf;
    		
    		$inBackEnd = (substr(dirname($_SERVER['PHP_SELF']),-13) == 'administrator') ? true : false;
    		if( ($inBackEnd AND $mtconf->get('use_wysiwyg_editor_in_admin')) || (!$inBackEnd AND $mtconf->get('use_wysiwyg_editor')) ) {
    			ob_start();
    			editorArea( 'editor1',  $this->getValue() , $this->getInputFieldName(1), '100%', $this->getSize(), '75', '25' );
    			$html = ob_get_contents();
    			ob_end_clean();
    		} else {
    			$html = '<textarea class="inputbox" name="' . $this->getInputFieldName(1) . '" style="width:95%;height:' . $this->getSize() . 'px">' . htmlspecialchars($this->getValue()) . '</textarea>';
    		}
    		return $html;
    	}
    	function getSearchHTML() {
    		return '<input class="inputbox" type="text" name="' . $this->getName() . '" size="30" />';
    	}
    	function getOutput($view=1) {
    		$params['parseUrl'] = $this->getParam('parseUrl',1);
    		$params['summaryChars'] = $this->getParam('summaryChars',255);
    		$params['stripSummaryTags'] = $this->getParam('stripSummaryTags',1);
    		$params['stripDetailsTags'] = $this->getParam('stripDetailsTags',1);
    		$params['parseMambots'] = $this->getParam('parseMambots',0);
    		$params['allowedTags'] = $this->getParam('allowedTags','u,b,i,a,ul,li,pre,br,blockquote');
    		$params['showReadMore'] = $this->getParam('showReadMore',0);
    		$params['whenReadMore'] = $this->getParam('whenReadMore',0);
    		$params['txtReadMore'] = $this->getParam('txtReadMore',(( $GLOBALS['_VERSION']->RELEASE == '1.0' )?_READ_MORE:JTEXT::_( 'Read More...' )));
    		
    		$html = $this->getValue();
    		
    		// Details view
    		if($view == 1) {
    			global $mtconf;
    			if($params['stripDetailsTags']) {
    				$html = $this->stripTags($html,$params['allowedTags']);
    			}
    			if($params['parseUrl'] AND $view == 0) {
    				$regex = '/http:\/\/(.*?)(\s|$)/i';
    				$html = preg_replace_callback( $regex, array($this,'linkcreator'), $html );
    			}
    			if (!$mtconf->get('use_wysiwyg_editor') && $params['stripDetailsTags'] && !in_array('br',explode(',',$params['allowedTags'])) && !in_array('p',explode(',',$params['allowedTags'])) ) {
    				$html = nl2br(trim($html));
    			}
    			if($params['parseMambots']) {
    				$this->parseMambots($html);
    			}
    		// Summary view
    		} else {
    			global $Itemid;
    			$html = preg_replace('@{[\/\!]*?[^<>]*?}@si', '', $html);
    			if($params['stripSummaryTags']) {
    				$html = strip_tags( $html );
    			}
    			if($params['summaryChars'] > 0) {
    				$trimmed_desc = trim($this->html_substr($html,0,$params['summaryChars']));
    			} else {
    				$trimmed_desc = '';
    			}
    			if ($this->strlen($html) > $params['summaryChars']) {
    				$html = $trimmed_desc;
    				$html .= ' <b>...</b>';
    			}
    			
    			if( $params['showReadMore'] && ($params['whenReadMore'] == 1 || ($params['whenReadMore'] == 0 && $this->strlen_utf8($html) > $params['summaryChars'])) ) {
    				if(!empty($trimmed_desc)) {
    					$html .= '<br />';
    				}
    				$html .= ' <a href="' . sefReltoAbs('index.php?option=com_mtree&task=viewlink&link_id=' . $this->getLinkId() . '&Itemid=' . $Itemid) . '" class="readon">' . $params['txtReadMore'] . '</a>';
    			}
    		}
    		return $html;
    	}
    }
    
    Или этот же код поменять через админку:
    1. Компоненты - MosetsTree
    2.Дополнительные поля - Управление типами поля
    3. Description
    4. Поменять Код PHP класса на указанный выше.

    И поменять прикрепленный файлик (administrator/components/com_mtree/)
     

    Вложения:

    timonnnn, StanyXXX и zverOK нравится это.
Статус темы:
Закрыта.