Joomla 3 плагин управления тегами k2

(Ответов: 11, Просмотров: 2452)
Страница 1 из 2 12 Последняя
  1. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    Существует ли расширение или плагин (для K2 Joomla 3), позволяющее добавить на страницу каждого тега собственное описание?
    • 0
  2. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    все еще актуально. неужели нет такого решения или я непонятно объяснил?
    • 0
  3. Опытный
    • Регистрация: 27.03.2015
    • Сообщений: 271
    • Репутация: 35
    можно ручками вставить. щас найду и скину код

    ---------- Сообщение добавлено 11:03 ---------- Предыдущее 10:39 ----------

    1 administrator/components-com_k2/tables/k2tag.php
    в класс class TableK2Tag extends K2Table
    добавляем
    PHP код:
    var $opisanienull
    2 administrator/components-com_k2/views/tag/tmpl/default.php
    в таблицу добавляем
    Код HTML:
     <tr> <td class="adminK2LeftCol"> <label for="opisanie">Контент</label> </td> <td class="adminK2RightCol"> <input class="text_area k2TitleAliasBox" type="text" name="opisanie" value="<?php echo $this->row->zagolovok; ?>" maxlength="250" /> </td> </tr>
    3 components/com_k2/templates/default/tag.php
    PHP код:
                <?php if($this->params->get('tagopisanie')): ?>
                <p><?php echo $this->category->opisanie?></p>
                <?php endif; ?>
    4 идем в БД
    таблица k2_tags
    добавляем поле
    имя opisaine
    тип text
    utf8_general_ci
    • 1

    Спасибо сказали:

    Maijin(29.05.2015),
  4. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    спасибо, все сделал как указано. добавил поле через phpMyAdmin. но через админку joomla содержание поля Opisanie не загружается в input и не сохраняется в базу

    даже если забить поле через phpMyAdmin до на странице поиска по тегу это описание не показывается.
    Последний раз редактировалось Maijin; 29.05.2015 в 13:26.
    • 0
  5. Опытный
    • Регистрация: 27.03.2015
    • Сообщений: 271
    • Репутация: 35
    странная штука...
    действительно с тегом не хочет работать.
    у меня было на категориях такое реализовано, нужно было доп.поле вывести.
    administrator/components-com_k2/tables/k2category.php
    PHP код:
    var $zagolovok null
    administrator/components-com_k2/views/category/tmpl/default.php
    Код HTML:
     <tr> <td class="adminK2LeftCol"> <label for="zagolovok">H1 для категории</label> </td> <td class="adminK2RightCol"> <input class="text_area k2TitleAliasBox" type="text" name="zagolovok" value="<?php echo $this->row->zagolovok; ?>" maxlength="250" /> </td> </tr>
    components/com_k2/templates/default/category.php
    PHP код:
    <?php echo $this->category->zagolovok?>
    по аналогии должно и с тегом, а не хочет. если разберусь, отпишусь
    • 2

    Спасибо сказали:

    parahot(10.08.2015), votren(07.08.2015),
  6. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    для начала, ятак понимаю вот тут
    <?php if($this->params->get('tagopisanie')): ?>
    <p><?php echo $this->category->opisanie; ?></p>
    <?php endif; ?>
    нужно исправить if($this->params->get('tagopisanie')): на чтото другое, и вместо $this->category->opisanie; нужно $this->tag->opisanie;
    • 0
  7. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    в каком файле метод get для тегов описан?
    • 0
  8. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    вопрос по прежнему актуален.
    • 0
  9. Новичок
    • Регистрация: 07.08.2015
    • Сообщений: 2
    • Репутация: 1
    Итак, с самого начала и до конца:

    /administrator/components/com_k2/tables/k2tag.php
    18 строка:
    Код HTML:
    	var $published = null;
    Заменить на:
    Код HTML:
    	var $published = null;
    	var $opisanie = null;
    /templates/[ВАШ_ШАБЛОН]/html/com_k2/templates/default/tag.php
    148 строка: ниже пагинации
    Код HTML:
     <!-- Pagination --> <?php if($this->pagination->getPagesLinks()): ?>
    	<div class="pagination"> <?php echo $this->pagination->getPagesLinks(); ?>
    		<div class="clr"></div> <?php echo $this->pagination->getPagesCounter(); ?>
    	</div> <?php endif; ?>
    Заменить на:
    Код HTML:
     <!-- Pagination --> <?php if($this->pagination->getPagesLinks()): ?>
    	<div class="pagination"> <?php echo $this->pagination->getPagesLinks(); ?>
    		<div class="clr"></div> <?php echo $this->pagination->getPagesCounter(); ?>
    	</div> <?php endif; ?> <?php if(!substr_count($_SERVER['REQUEST_URI'], 'start=')) : ?> <!-- TAG Opisanie--> <div class="tagItemOpisanie"> <p><?php echo $this->tag; ?></p> </div> <?php endif; ?>
    /components/com_k2/views/itemlist/view.html.php
    281 строка:
    Код HTML:
    				// Set ordering
    				$ordering = $params->get('tagOrdering');
    
    				$addHeadFeedLink = $params->get('tagFeedLink', 1);
    
    				break;
    Заменить на:
    Код HTML:
    				// Set ordering
    				$ordering = $params->get('tagOrdering');
    
    				$addHeadFeedLink = $params->get('tagFeedLink', 1);
    				
    				//Set opisanie
    				$tag = JRequest::getString('tag');
    				$db = JFactory::getDBO();
    				$db->setQuery('SELECT opisanie FROM #__k2_tags WHERE name = '.$db->quote($tag));
    				$tagOpisanie = $db->loadResult();
    				$this->assignRef('tag', $tagOpisanie);
    				
    				break;
    /administrator/components/com_k2/views/tag/tmpl/default.php
    22 строка:
    Код HTML:
    		} else {
    			submitform( pressbutton );
    		}
    Заменить на:
    Код HTML:
    		} else {
    			".$this->onSave."
    			submitform( pressbutton );
    		}
    37 строка:
    Код HTML:
     <tr> <td class="key"><?php	echo JText::_('K2_PUBLISHED');	?></td> <td><?php echo $this->lists['published']; ?></td> </tr>
    Заменить на:
    Код HTML:
     <tr> <td class="key"><?php	echo JText::_('K2_PUBLISHED');	?></td> <td><?php echo $this->lists['published']; ?></td> </tr> <tr> <td class="key"><?php echo JText::_('Контент'); ?></td> <td><?php echo $this->editor; ?></td> </tr>
    /administrator/components/com_k2/views/tag/view.html.php
    21 строка:
    Код HTML:
            JRequest::setVar('hidemainmenu', 1);
            $model = $this->getModel();
            $tag = $model->getData();
            JFilterOutput::objectHTMLSafe($tag);
    Заменить на:
    Код HTML:
            JRequest::setVar('hidemainmenu', 1);
            $model = $this->getModel();
            $tag = $model->getData();
    		//
    		$wysiwyg = JFactory::getEditor();
            $editor = $wysiwyg->display('opisanie', $tag->opisanie, '100%', '250px', '', '', array('pagebreak', 'readmore'));
            $this->assignRef('editor', $editor);
    		$onSave = '';
    		if(K2_JVERSION == '30')
    		{
    			$onSave = $wysiwyg->save('opisanie');
    		}
    		$this->assignRef('onSave', $onSave);
    		//
           // JFilterOutput::objectHTMLSafe($tag);
    /administrator/components/com_k2/models/tag.php
    33 строка:
    Код HTML:
            $row = JTable::getInstance('K2Tag', 'Table');
    
            if (!$row->bind(JRequest::get('post')))
            {
            	$mainframe->enqueueMessage($row->getError(), 'error');
                $mainframe->redirect('index.php?option=com_k2&view=tags');
            }
    
            if (!$row->check())
    Заменить на:
    Код HTML:
            $row = JTable::getInstance('K2Tag', 'Table');
    		//
    		$params = JComponentHelper::getParams('com_k2');
    		//
            if (!$row->bind(JRequest::get('post')))
            {
            	$mainframe->enqueueMessage($row->getError(), 'error');
                $mainframe->redirect('index.php?option=com_k2&view=tags');
            }
    		
    		//
    		$row->opisanie = JRequest::getVar('opisanie', '', 'post', 'string', 2);
            if ($params->get('xssFiltering'))
            {
                $filter = new JFilterInput( array(), array(), 1, 1, 0);
                $row->opisanie = $filter->clean($row->opisanie);
            }
    		//
    
            if (!$row->check())

    И еще добавление в mysql - идем в БД:
    таблица _k2_tags -> структура -> добавить 1 поле в конец таблицы
    Имя: opisanie
    Тип: text
    Сравнение: utf8_general_ci
    Сохранить

    И всё, жизнь удалась!
    Последний раз редактировалось parahot; 07.08.2015 в 13:51.
    • 2

    Спасибо сказали:

    Maijin(12.08.2015), votren(07.08.2015),
  10. Banned
    • Регистрация: 18.08.2012
    • Сообщений: 405
    • Репутация: 109
    Еще вопрос знатоку К2, как в УРЛ тега убрать символ "%" ? При теге из двух или более слов он обязательно присутствует, а заменить на символы "- или _"". Заранее спасибо parahot,
    • 0
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Подскажите плагин для массового управления изображениями
WordPress 3 10.01.2014 00:48
Подскажите пожалуйста плагин для работы с тегами
WordPress 0 29.10.2013 21:43
Ищу плагин галлереи для Joomla 2.5-3
Joomla 6 14.02.2013 09:11
Плагин Joomla Estate Agency переработать для Joomla!2.5
Софт, скрипты, лицензии 0 28.02.2012 21:37
Плагин Joomla Estate Agency переработать для Joomla!2.5
Web программирование 0 28.02.2012 21:37

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры