Форум русской поддержки Joomla!® CMS
07.12.2016, 20:20:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5   Вниз
  Добавить закладку  |  Печать  
Автор

Как убрать /item/ из тела ссылки элемента?

 (Прочитано 28091 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Evenfrost
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 15


« : 04.10.2011, 13:04:48 »

Есть: http://site.ru/blog/design/item/статья
Нужно: http://site.ru/blog/design/статья

Кто-нибудь подскажет, откуда выпиливать?


-----
Быстрая навигация по топику:
Роутер для ZOO 2.5.12
Роутер для ZOO 3.0.10
« Последнее редактирование: 13.04.2013, 16:40:01 от Sulpher » Записан
 
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #1 : 11.11.2011, 02:13:22 »

Есть: http://site.ru/blog/design/item/статья
Нужно: http://site.ru/blog/design/статья

Кто-нибудь подскажет, откуда выпиливать?
Тоже интерестно
Записан
MetaSpirit
Живу я здесь
******

Репутация: +106/-0
Offline Offline

Пол: Мужской
Сообщений: 1383


R.A.S.Lab[.org]


« Ответ #2 : 11.11.2011, 10:26:51 »

Переписыванием роутера или сторонними ЧПУ
Записан
djforce
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 40


« Ответ #3 : 11.11.2011, 10:44:42 »

Ребятт так решил кто это? как в zoo 2.5 со стандартным SEF убрать item ?
Записан
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #4 : 12.11.2011, 13:30:44 »

Переписыванием роутера или сторонними ЧПУ
Скиньте у кого есть пример переписанного роутера. или ссылку где можно почитать - как переписать самому.
Записан
Виталик
Группа развития
*****

Репутация: +123/-0
Offline Offline

Пол: Мужской
Сообщений: 1209



« Ответ #5 : 12.11.2011, 13:39:06 »

Код
<?php
/**
* @package   com_zoo
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

 
// load config
require_once(JPATH_ADMINISTRATOR.'/components/com_zoo/config.php');
 
function ZooBuildRoute(&$query) {
 
$app = App::getInstance('zoo');
 
// init vars
$segments = array();
 
// frontpage
$task = 'frontpage';
 
if (@$query['task'] == $task || @$query['view'] == $task) {
$segments[] = $task;
unset($query['task']);
unset($query['view']);
 
// pagination
if (isset($query['page'])) {
$segments[] = $query['page'];
unset($query['page']);
}
}
 
// category
$task = 'category';
 
if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['category_id'])) {
$segments[] = $task;
if ($query['category_id']) {
$segments[] = $app->alias->category->translateIDToAlias((int) $query['category_id']);
}
unset($query['task']);
unset($query['view']);
unset($query['category_id']);
 
// pagination
if (isset($query['page'])) {
$segments[] = $query['page'];
unset($query['page']);
}
}
 
// alpha index
$task = 'alphaindex';
 
if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['alpha_char']) && isset($query['app_id'])) {
$segments[] = $task;
$segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']);
$segments[] = $query['alpha_char'];
unset($query['task']);
unset($query['view']);
unset($query['alpha_char']);
unset($query['app_id']);
 
// pagination
if (isset($query['page'])) {
$segments[] = $query['page'];
unset($query['page']);
}
}
 
// tag
$task = 'tag';
 
if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['tag']) && isset($query['app_id'])) {
$segments[] = $task;
$segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']);
$segments[] = $query['tag'];
unset($query['task']);
unset($query['view']);
unset($query['tag']);
unset($query['app_id']);
 
// pagination
if (isset($query['page'])) {
$segments[] = $query['page'];
unset($query['page']);
}
}
 
// item
$task = 'item';
 
if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['item_id'])) {
$segments[] = $app->alias->item->translateIDToAlias((int) $query['item_id']);
unset($query['task']);
unset($query['view']);
unset($query['item_id']);
unset($query['category_id']);
}
 
// feed
$task = 'feed';
 
if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['type']) && isset($query['app_id']) && isset($query['category_id'])) {
$segments[] = $task;
$segments[] = $query['type'];
$segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']);
if ($query['category_id']) {
$segments[] = $app->alias->category->translateIDToAlias((int) $query['category_id']);
}
unset($query['task']);
unset($query['view']);
unset($query['type']);
unset($query['app_id']);
unset($query['category_id']);
}
 
// submission
$task = 'submission';
   $layout = 'submission';
 
if (((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == $layout)) {
$segments[] = $task;
           $segments[] = $layout;
$segments[] = $app->alias->submission->translateIDToAlias((int) $query['submission_id']);
           $segments[] = $query['type_id'];
           $segments[] = $query['submission_hash'];
           $segments[] = $app->alias->item->translateIDToAlias((int) @$query['item_id']);
unset($query['task']);
unset($query['view']);
unset($query['layout']);
unset($query['submission_id']);
           unset($query['type_id']);
           unset($query['submission_hash']);
           unset($query['item_id']);
}
 
// submission mysubmissions
$task = 'submission';
   $layout = 'mysubmissions';
 
if (((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == $layout)) {
$segments[] = $task;
           $segments[] = $layout;
$segments[] = $app->alias->submission->translateIDToAlias((int) $query['submission_id']);
unset($query['task']);
unset($query['view']);
unset($query['layout']);
unset($query['submission_id']);
}
 
return $segments;
}
 
function ZooParseRoute($segments) {
 
$app = App::getInstance('zoo');
 
// init vars
$vars  = array();
$count = count($segments);
 
// fix segments (see JRouter::_decodeSegments)
foreach (array_keys($segments) as $key) {
$segments[$key] = str_replace(':', '-', $segments[$key]);
}
 
// frontpage (with optional pagination)
$task = 'frontpage';
 
if ($count == 1 && $segments[0] == $task) {
$vars['task'] = $task;
}
 
if ($count == 2 && $segments[0] == $task) {
$vars['task'] = $task;
$vars['page'] = (int) $segments[1];
}
 
// category (with optional pagination)
$task = 'category';
 
if ($count == 2 && $segments[0] == $task) {
$vars['task']        = $task;
$vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[1]);
}
 
if ($count == 3 && $segments[0] == $task) {
$vars['task']        = $task;
$vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[1]);
$vars['page']        = (int) $segments[2];
}
 
// alpha index (with optional pagination)
$task = 'alphaindex';
 
if ($count == 3 && $segments[0] == $task) {
$vars['task']       = $task;
$vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]);
$vars['alpha_char'] = (string) $segments[2];
}
 
if ($count == 4 && $segments[0] == $task) {
$vars['task']       = $task;
$vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]);
$vars['alpha_char'] = (string) $segments[2];
$vars['page']       = (int) $segments[3];
}
 
// tag (with optional pagination)
$task = 'tag';
 
if ($count == 3 && $segments[0] == $task) {
$vars['task']   = $task;
$vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]);
$vars['tag']    = (string) $segments[2];
}
 
if ($count == 4 && $segments[0] == $task) {
$vars['task']   = $task;
$vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]);
$vars['tag']    = (string) $segments[2];
$vars['page']   = (int) $segments[3];
}
 
// item
$task = 'item';
 
if ($count == 1) {
$vars['task']    = $task;
$vars['item_id'] = (int) $app->alias->item->translateAliasToID($segments[0]);
}
 
// feed
$task = 'feed';
 
if ($count == 3 && $segments[0] == $task) {
$vars['task'] = $task;
$vars['type'] = (string) $segments[1];
$vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[2]);
}
 
if ($count == 4 && $segments[0] == $task) {
$vars['task']        = $task;
$vars['type']        = (string) $segments[1];
$vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[2]);
$vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[3]);
}
 
// submission
$task = 'submission';
   $layout = 'submission';
 
if ($count == 2 && $segments[0] == $task && $segments[1] == $layout) {
$vars['task']   = $task;
$vars['layout'] = (string) $segments[1];
}
 
if ($count == 5 && $segments[0] == $task && $segments[1] == $layout) {
$vars['task']            = $task;
$vars['layout']          = (string) $segments[1];
$vars['submission_id']   = (int) $app->alias->submission->translateAliasToID($segments[2]);
           $vars['type_id']         = (string) $segments[3];
           $vars['submission_hash'] = (string) $segments[4];
}
 
if ($count == 6 && $segments[0] == $task && $segments[1] == $layout) {
$vars['task']            = $task;
$vars['layout']          = (string) $segments[1];
$vars['submission_id']   = (int) $app->alias->submission->translateAliasToID($segments[2]);
           $vars['type_id']         = (string) $segments[3];
           $vars['submission_hash'] = (string) $segments[4];
           $vars['item_id']         = (int) $app->alias->item->translateAliasToID($segments[5]);
}
 
// submission mysubmissions
$task = 'submission';
   $layout = 'mysubmissions';
 
if ($count == 2 && $segments[0] == $task && $segments[1] == $layout) {
$vars['task']   = $task;
$vars['layout'] = (string) $segments[1];
}
 
if ($count == 3 && $segments[0] == $task && $segments[1] == $layout) {
$vars['task']          = $task;
$vars['layout']        = (string) $segments[1];
$vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]);
}
 
return $vars;
}
 
Записан
Evenfrost
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 15


« Ответ #6 : 16.11.2011, 22:26:16 »

Виталик,
так дико сложно было указать строчку в файле, которую надо править, чтобы другим не пришлось перелопачивать весь документ? Не понимаю таких людей... Но и на том спасибо.

Для того, чтобы убрать /item/, нужно удалить строку 97 (ориентировочно, в ZOO 2.4.12) в файле \components\com_zoo\router.php:
Код
$segments[] = $task;
Записан
Виталик
Группа развития
*****

Репутация: +123/-0
Offline Offline

Пол: Мужской
Сообщений: 1209



« Ответ #7 : 16.11.2011, 22:36:25 »

Для того, чтобы убрать /item/, нужно удалить строку 97 (ориентировочно, в ZOO 2.4.12) в файле \components\com_zoo\router.php:
Код
$segments[] = $task;
Если начали искать изменения, то просмотрите файл до конца и напишите обо всех отличиях от оригинального и проверьте работоспособность файла по своей инструкции прежде чем советовать другим просто убрать одну строку.
Записан
djforce
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 40


« Ответ #8 : 17.11.2011, 15:40:15 »

Спасибо, работает
Записан
pavel_28121
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264


Cart for ZOO, Watermark for ZOO, Price fo ZOO


« Ответ #9 : 21.11.2011, 00:21:58 »

А как убрать category ?
Записан
Виталик
Группа развития
*****

Репутация: +123/-0
Offline Offline

Пол: Мужской
Сообщений: 1209



« Ответ #10 : 21.11.2011, 00:40:58 »

А как убрать category ?
а как вы убираете?
Записан
djforce
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 40


« Ответ #11 : 21.11.2011, 08:06:59 »

а как вы убираете?
Примажусь, тоже интересно)))
Записан
Виталик
Группа развития
*****

Репутация: +123/-0
Offline Offline

Пол: Мужской
Сообщений: 1209



« Ответ #12 : 21.11.2011, 13:31:14 »

последнее время не убираю, так как на все категории есть пункты меня, а раньше в ZooBuildRoute просто не дописывал сегмент "category", а в ZooParseRoute сначала проверял является ли алиас категорией, а потом материалом
Записан
pavel_28121
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264


Cart for ZOO, Watermark for ZOO, Price fo ZOO


« Ответ #13 : 21.11.2011, 21:29:49 »

А я убираю сторонним SEF и правкой sef_ext
Записан
agro
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 21


« Ответ #14 : 03.12.2011, 22:14:48 »

Тоже хотелось бы убрать item, items, itemstable в роутере каталога DJ2. Может кто-то имеет готовое решение.
Записан
ankoch
Завсегдатай
*****

Репутация: +50/-1
Offline Offline

Пол: Мужской
Сообщений: 499



« Ответ #15 : 03.01.2012, 10:56:13 »

Цитировать
Как убрать /item/ из тела ссылки элемента?

В zoo 2.5.4 уже этой проблемы нет, нужно просто обновиться до этой версии.
Записан
Evenfrost
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 15


« Ответ #16 : 06.01.2012, 19:40:47 »

Цитировать
В zoo 2.5.4 уже этой проблемы нет
И как эта проблема решается в 2.5.4? У меня как были в ссылках item'ы, так и остались. Стоит 2.5.5.
Записан
ankoch
Завсегдатай
*****

Репутация: +50/-1
Offline Offline

Пол: Мужской
Сообщений: 499



« Ответ #17 : 07.01.2012, 09:45:26 »

http://www.yootheme.com/support/question/154
Цитировать
ZOO 2.5.4 fixed the content duplication issue. Try it and tell me if that works for you too

По крайней мере у меня работает и item'ов нет, однако category остались, когда переходишь из титульной страницы в одну из категорий.

Joomla 1.5.23 + zoo 2.5.4

P.S. только что обновил  zoo до 2.5.6 и category совсем исчезли.
Записан
ankoch
Завсегдатай
*****

Репутация: +50/-1
Offline Offline

Пол: Мужской
Сообщений: 499



« Ответ #18 : 07.01.2012, 09:49:06 »

Стоит заметить, что старые ссылки с item'ами остались работоспособными.
« Последнее редактирование: 14.01.2012, 12:53:34 от ankoch » Записан
61rus
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 47


« Ответ #19 : 10.01.2012, 14:50:37 »

Так же обновился до последней версии, но item и catalog остались. возможно настройки где есть?
Записан
ankoch
Завсегдатай
*****

Репутация: +50/-1
Offline Offline

Пол: Мужской
Сообщений: 499



« Ответ #20 : 11.01.2012, 18:10:54 »

Глупый вопрос, однако - SEO Joomla включено?
Записан
61rus
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 47


« Ответ #21 : 11.01.2012, 20:52:05 »

Подскажите, это где?Azn
Записан
61rus
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 47


« Ответ #22 : 11.01.2012, 20:57:09 »

Если вы в кофигурации самой Joomla, то конечно:
Search Engine Friendly URLs
Use URL rewriting
Adds Suffix to URL
включено
Записан
ankoch
Завсегдатай
*****

Репутация: +50/-1
Offline Offline

Пол: Мужской
Сообщений: 499



« Ответ #23 : 11.01.2012, 21:00:59 »

Да, это там. У меня Joomla 1.5.23, всё работает при аналогичных настройках.

Кстати, после этих изменений с item'ами и category'ями, в индексе у Яндекс вдруг ни с того ни с сего страниц в поиске увеличилось ровно в 3 раза.
Записан
61rus
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 47


« Ответ #24 : 11.01.2012, 21:04:00 »

У меня 1.7.3 стоит ничего нет после обновления.
Нашел на одном сайте переделанный router.php убирается, но он для более старой версии написан, меняются другие урлы в худшую сторону. У вас Яндекс меньше чем за неделю прошустрил весь сайт и выкинул это уже в поиск?
Записан
ankoch
Завсегдатай
*****

Репутация: +50/-1
Offline Offline

Пол: Мужской
Сообщений: 499



« Ответ #25 : 11.01.2012, 21:14:20 »

У вас Яндекс меньше чем за неделю прошустрил весь сайт и выкинул это уже в поиск?
Примерно за неделю.
Записан
61rus
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 47


« Ответ #26 : 11.01.2012, 21:17:43 »

http://usemind.org/CMS-Joomla/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8/%D0%A3%D0%B1%D1%80%D0%B0%D1%82%D1%8C-item-%D0%B8-category_id=x-%D0%B8%D0%B7-ZOO  - ссылка на решение, я еще не пробовал.
Записан
j-lubitel
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 14


« Ответ #27 : 13.01.2012, 15:17:55 »

Ребят, а никто не пытался убрать component/zoo/tag/что-то-тут в пути при выводе результатов поиска по тэгам в zoo?
А еще если в тэге забито два слова, например "такая статья", то в пути получится "/такая%20статья", как бы убрать эти %20?
Joomla 1.5.23, zoo 2.5.6.
Записан
j-lubitel
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 14


« Ответ #28 : 14.01.2012, 12:52:00 »

Я так понял, что за формирование ссылки по каждому тегу в модуле zootag (файл helper.php) отвечает строка

Код
$tag->href   = $menu_item ? sprintf('index.php?option=com_zoo&task=tag&tag=%s&app_id=%d%s', $tag->name, $application->id, $itemid) : $this->app->route->tag($application->id, $tag->name);

Только как её изменить, чтобы убрать "component/zoo"?
Записан
j-lubitel
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 14


« Ответ #29 : 15.01.2012, 11:59:35 »

Или в файле component/com_zoo/router.php нужно будет добавлять дополнительные строки вот сюда?:
Код
	// tag
$task = 'tag';
if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['tag']) && isset($query['app_id'])) {
$segments[] = $task;
$segments[] = $app->alias->translateIDToAlias((int) $query['app_id']);
$segments[] = $query['tag'];
unset($query['task']);
unset($query['view']);
unset($query['tag']);
unset($query['app_id']);
 
// pagination
if (isset($query['page'])) {
$segments[] = $query['page'];
unset($query['page']);
}
}
 
Только что добавлять? Подскажите знающие люди.
Записан
Страниц: [1] 2 3 4 5   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet