0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 12204 Просмотров
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
itemlist/category как убрать.
« : 03.01.2012, 21:30:15 »
после установки к2  изменились пути, подкатегория оображается  itemlist/category/6-privet
прошу подсказать как от этого избавиться.
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Re: itemlist/category как убрать.
« Ответ #1 : 03.01.2012, 22:06:42 »
Создать нормальную структуру меню Joomla, соответствующую вашей структуре категорий/подкатегорий.
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Re: itemlist/category как убрать.
« Ответ #2 : 04.01.2012, 02:03:37 »
а можно поподробнее в чем ошибка ?что значит нормальная структура ?. у меня создана категория, а в ней подкатегория и она отображается после установки к2 криво ( точнее путь к ней)
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: itemlist/category как убрать.
« Ответ #3 : 04.01.2012, 02:20:02 »
создайте категорию в меню Joomla c ссылкой на категорию К2 и всё нормализуется
Смотрю....
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Re: itemlist/category как убрать.
« Ответ #4 : 04.01.2012, 02:24:47 »
Разобрался всем спасибо
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Re: itemlist/category как убрать.
« Ответ #5 : 04.01.2012, 02:34:33 »
Когда  создали пункт меню в Joomla в основных параметрах выберите категорию, и создайте еще 1 пункт меню в Joomla (он и будет подкатегорией) и в графе родительский элемент выберите категорию, а в основных параметрах поставьте нужную подкатегорию.  и проблема решится. я решил это так
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Re: itemlist/category как убрать.
« Ответ #6 : 04.01.2012, 02:46:05 »
а нет проблемка не отпала, как убрать теперь /item перед материалом ?
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: itemlist/category как убрать.
« Ответ #7 : 04.01.2012, 03:16:48 »
сделать пункт меню Joomla - Материал К2
Смотрю....
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: itemlist/category как убрать.
« Ответ #8 : 04.01.2012, 13:26:01 »
или использовать sh404SEF
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

poiuy

  • Захожу иногда
  • 203
  • 30 / 6
  • o_O
Re: itemlist/category как убрать.
« Ответ #9 : 05.01.2012, 12:16:02 »
сделать пункт меню Joomla - Материал К2
или использовать sh404SEF

Эмм, а если я не хочу через задницу, извините, все делать. У меня J1.7 и меня проклятый /item выбешивает просто. Поиск по форуму результата не дал, всех пинают, ибо ни кто не знает ответа. Товарищи кадвашники, неужели ни как не избавится от этого /item более изящным способом чем установка еще одного компонента или танцами вокруг сотни пунктов меню на материал к2?
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: itemlist/category как убрать.
« Ответ #10 : 05.01.2012, 17:50:18 »
Нет, никто не избавился.
Если бы было более изящное готовое решение - давно бы уже его выложили тут.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

poiuy

  • Захожу иногда
  • 203
  • 30 / 6
  • o_O
Re: itemlist/category как убрать.
« Ответ #11 : 06.01.2012, 04:57:11 »
Спасибо и на этом )
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Re: itemlist/category как убрать.
« Ответ #12 : 06.01.2012, 18:02:04 »
Большое спасибо всем за участие.
*

sharnin

  • Новичок
  • 8
  • 1 / 0
Re: itemlist/category как убрать.
« Ответ #13 : 17.02.2012, 01:41:52 »
Поменять router.php в папке с компонентом.
Ниже набросок для категорий, но суть такая - вырезаем task (в данном случае = category) и view ( = itemlist) при опред. условиях в K2BuildRoute, а в K2ParseRoute, если отсутствует $segments[1] и $segments[2] (т.е. есть только id-alias категории), дописываем нужные task и view.
Метод частный, работает только для ссылок категорий (остальные ссылки формируются стандартно - katalog/item/16-name.htmk, но можно и под конкретный проект заточить:
Код
<?php
/**
 * @version $Id: router.php 1034 2011-10-04 17:00:00Z joomlaworks $
 * @package K2
 * @author JoomlaWorks http://www.joomlaworks.gr
 * @copyright Copyright (c) 2006 - 2011 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

function K2BuildRoute( & $query) {

    $segments = array ();

    $menu = & JSite::getMenu();
    if ( empty($query['Itemid'])) {
        $menuItem = & $menu->getActive();
    }
    else {
        $menuItem = & $menu->getItem($query['Itemid']);
    }
    $mView = ( empty($menuItem->query['view']))?null:$menuItem->query['view'];
    $mTask = ( empty($menuItem->query['task']))?null:$menuItem->query['task'];
    $mId = ( empty($menuItem->query['id']))?null:$menuItem->query['id'];
    $mTag = ( empty($menuItem->query['tag']))?null:$menuItem->query['tag'];

    if ( isset ($query['layout'])) {
        unset ($query['layout']);
    }

    if ( $mView == @$query['view'] && $mTask == @$query['task'] && $mId == @intval($query['id']) &&  @intval($query['id']) > 0 ) {
        unset ($query['view']);
        unset ($query['task']);
        unset ($query['id']);
    }

    if ( $mView == @$query['view'] && $mTask == @$query['task'] && $mTag == @$query['tag'] && isset($query['tag']) ) {
        unset ($query['view']);
        unset ($query['task']);
        unset ($query['tag']);
    }

    if ( isset ($query['view'])) {
        $view = $query['view'];
if($query['view'] == 'itemlist') {}
else {
        $segments[] = $view;
}
        unset ($query['view']);
    }

    if (@ isset ($query['task'])) {
        $task = $query['task'];
if($query['task'] == 'category') {}
else {
        $segments[] = $task;
}
        unset ($query['task']);
    }

    if ( isset ($query['id'])) {
        $id = $query['id'];
        $segments[] = $id;
        unset ($query['id']);
    }

    if ( isset ($query['cid'])) {
        $cid = $query['cid'];
        $segments[] = $cid;
        unset ($query['cid']);
    }

    if ( isset ($query['tag'])) {
        $tag = $query['tag'];
        $segments[] = $tag;
        unset ($query['tag']);
    }

    if ( isset ($query['year'])) {
        $year = $query['year'];
        $segments[] = $year;
        unset ($query['year']);
    }

    if ( isset ($query['month'])) {
        $month = $query['month'];
        $segments[] = $month;
        unset ($query['month']);
    }

    if ( isset ($query['day'])) {
        $day = $query['day'];
        $segments[] = $day;
        unset ($query['day']);
    }

    if ( isset ($query['task'])) {
        $task = $query['task'];
        $segments[] = $task;
        unset ($query['task']);
    }

    return $segments;
}

function K2ParseRoute($segments) {
    $vars = array ();

if(!isset($segments[1]) && !isset($segments[2])){
$vars['id'] = $segments[0];
$vars['task'] = 'category';
$vars['view'] = 'itemlist';
}else {
    $vars['view'] = $segments[0];
    if (!isset($segments[1]))
        $segments[1]='';
    $vars['task'] = $segments[1];

    if ($segments[0] == 'itemlist') {

        switch($segments[1]) {

            case 'category':
                $vars['id'] = $segments[2];
                break;

            case 'tag':
                if (isset($segments[2]))
                    $vars['tag'] = $segments[2];
                break;

            case 'user':
                if (isset($segments[2]))
                    $vars['id'] = $segments[2];
                break;

            case 'date':
                if (isset($segments[2]))
                    $vars['year'] = $segments[2];
                if (isset($segments[3]))
                    $vars['month'] = $segments[3];
                if (isset($segments[4])) {
                    $vars['day'] = $segments[4];
                }
                break;

        }

    }

    else if ($segments[0] == 'item') {

        switch($segments[1]) {

            case 'edit':
                if (isset($segments[2]))
                    $vars['cid'] = $segments[2];
                break;

            case 'download':
                if (isset($segments[2]))
                    $vars['id'] = $segments[2];
                break;

            default:
                $vars['id'] = $segments[1];
                break;

        }

    }

  
}
 return $vars;
}

« Последнее редактирование: 17.02.2012, 10:48:33 от staticlight »
*

TYMON

  • Захожу иногда
  • 65
  • 0 / 0
Re: itemlist/category как убрать
« Ответ #14 : 23.01.2019, 20:01:53 »
Поменять router.php в папке с компонентом.
Ниже набросок для категорий, но суть такая - вырезаем task (в данном случае = category) и view ( = itemlist) при опред. условиях в K2BuildRoute, а в K2ParseRoute, если отсутствует $segments[1] и $segments[2] (т.е. есть только id-alias категории), дописываем нужные task и view.
Метод частный, работает только для ссылок категорий (остальные ссылки формируются стандартно - katalog/item/16-name.htmk, но можно и под конкретный проект заточить:
Код
<?php
/**
 * @version $Id: router.php 1034 2011-10-04 17:00:00Z joomlaworks $
 * @package K2
 * @author JoomlaWorks http://www.joomlaworks.gr
 * [member=126442]copyright[/member] Copyright (c) 2006 - 2011 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

function K2BuildRoute( & $query) {

    $segments = array ();

    $menu = & JSite::getMenu();
    if ( empty($query['Itemid'])) {
        $menuItem = & $menu->getActive();
    }
    else {
        $menuItem = & $menu->getItem($query['Itemid']);
    }
    $mView = ( empty($menuItem->query['view']))?null:$menuItem->query['view'];
    $mTask = ( empty($menuItem->query['task']))?null:$menuItem->query['task'];
    $mId = ( empty($menuItem->query['id']))?null:$menuItem->query['id'];
    $mTag = ( empty($menuItem->query['tag']))?null:$menuItem->query['tag'];

    if ( isset ($query['layout'])) {
        unset ($query['layout']);
    }

    if ( $mView == @$query['view'] && $mTask == @$query['task'] && $mId == @intval($query['id']) &&  @intval($query['id']) > 0 ) {
        unset ($query['view']);
        unset ($query['task']);
        unset ($query['id']);
    }

    if ( $mView == @$query['view'] && $mTask == @$query['task'] && $mTag == @$query['tag'] && isset($query['tag']) ) {
        unset ($query['view']);
        unset ($query['task']);
        unset ($query['tag']);
    }

    if ( isset ($query['view'])) {
        $view = $query['view'];
if($query['view'] == 'itemlist') {}
else {
        $segments[] = $view;
}
        unset ($query['view']);
    }

    if (@ isset ($query['task'])) {
        $task = $query['task'];
if($query['task'] == 'category') {}
else {
        $segments[] = $task;
}
        unset ($query['task']);
    }

    if ( isset ($query['id'])) {
        $id = $query['id'];
        $segments[] = $id;
        unset ($query['id']);
    }

    if ( isset ($query['cid'])) {
        $cid = $query['cid'];
        $segments[] = $cid;
        unset ($query['cid']);
    }

    if ( isset ($query['tag'])) {
        $tag = $query['tag'];
        $segments[] = $tag;
        unset ($query['tag']);
    }

    if ( isset ($query['year'])) {
        $year = $query['year'];
        $segments[] = $year;
        unset ($query['year']);
    }

    if ( isset ($query['month'])) {
        $month = $query['month'];
        $segments[] = $month;
        unset ($query['month']);
    }

    if ( isset ($query['day'])) {
        $day = $query['day'];
        $segments[] = $day;
        unset ($query['day']);
    }

    if ( isset ($query['task'])) {
        $task = $query['task'];
        $segments[] = $task;
        unset ($query['task']);
    }

    return $segments;
}

function K2ParseRoute($segments) {
    $vars = array ();

if(!isset($segments[1]) && !isset($segments[2])){
$vars['id'] = $segments[0];
$vars['task'] = 'category';
$vars['view'] = 'itemlist';
}else {
    $vars['view'] = $segments[0];
    if (!isset($segments[1]))
        $segments[1]='';
    $vars['task'] = $segments[1];

    if ($segments[0] == 'itemlist') {

        switch($segments[1]) {

            case 'category':
                $vars['id'] = $segments[2];
                break;

            case 'tag':
                if (isset($segments[2]))
                    $vars['tag'] = $segments[2];
                break;

            case 'user':
                if (isset($segments[2]))
                    $vars['id'] = $segments[2];
                break;

            case 'date':
                if (isset($segments[2]))
                    $vars['year'] = $segments[2];
                if (isset($segments[3]))
                    $vars['month'] = $segments[3];
                if (isset($segments[4])) {
                    $vars['day'] = $segments[4];
                }
                break;

        }

    }

    else if ($segments[0] == 'item') {

        switch($segments[1]) {

            case 'edit':
                if (isset($segments[2]))
                    $vars['cid'] = $segments[2];
                break;

            case 'download':
                if (isset($segments[2]))
                    $vars['id'] = $segments[2];
                break;

            default:
                $vars['id'] = $segments[1];
                break;

        }

    }

   
}
 return $vars;
}




Метод работает, но как теперь из ссылки убрать номер категории? пишет ссылку меню Новости /news и дописывается номер категории /news/23
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать http:// из поля формы регистрации и профиля

Автор lgmax

Ответов: 2
Просмотров: 1250
Последний ответ 20.01.2021, 18:52:22
от dizastill
Ошибка components\com_k2\views\itemlist\view.html.php on line 485

Автор NIKOLY

Ответов: 5
Просмотров: 234
Последний ответ 09.12.2020, 16:56:01
от NIKOLY
Как убрать показ объявлений от Google на некоторых страницах?

Автор klara7

Ответов: 1
Просмотров: 361
Последний ответ 14.04.2020, 09:15:48
от sivers
Как убрать tag-k2 в Joomla?

Автор dg_so_use

Ответов: 3
Просмотров: 584
Последний ответ 18.06.2019, 11:17:11
от draff
k2 router - исключается /item /itemlist/category/ убираем id из ссылок, транлитерация для тегов

Автор lammer

Ответов: 83
Просмотров: 34227
Последний ответ 12.03.2019, 10:07:10
от Pizzadox