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

Evenfrost

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Есть: 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

  • Захожу иногда
  • 150
  • 7 / 0
Есть: http://site.ru/blog/design/item/статья
Нужно: http://site.ru/blog/design/статья

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

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Переписыванием роутера или сторонними ЧПУ
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

djforce

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

Kuzmitch

  • Захожу иногда
  • 150
  • 7 / 0
Переписыванием роутера или сторонними ЧПУ
Скиньте у кого есть пример переписанного роутера. или ссылку где можно почитать - как переписать самому.
*

Виталик

  • Завсегдатай
  • 1242
  • 130 / 0
Код: php
<?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

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

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

Виталик

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

djforce

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Спасибо, работает
*

pavel_28121

  • Захожу иногда
  • 266
  • 29 / 0
  • Cart for ZOO, Watermark for ZOO, Price fo ZOO
А как убрать category ?
Расширения для Yootheme ZOO http://zooapps.ru, а также профессиональная помощь по Yootheme ZOO. Расширения для ZOO на заказ. ZooCart, ZooWatermark, ZooPrice.
*

djforce

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
а как вы убираете?
Примажусь, тоже интересно)))
*

Виталик

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

pavel_28121

  • Захожу иногда
  • 266
  • 29 / 0
  • Cart for ZOO, Watermark for ZOO, Price fo ZOO
А я убираю сторонним SEF и правкой sef_ext
Расширения для Yootheme ZOO http://zooapps.ru, а также профессиональная помощь по Yootheme ZOO. Расширения для ZOO на заказ. ZooCart, ZooWatermark, ZooPrice.
*

agro

  • Осваиваюсь на форуме
  • 21
  • 2 / 0
Тоже хотелось бы убрать item, items, itemstable в роутере каталога DJ2. Может кто-то имеет готовое решение.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Цитировать
Как убрать /item/ из тела ссылки элемента?

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

Evenfrost

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Цитировать
В zoo 2.5.4 уже этой проблемы нет
И как эта проблема решается в 2.5.4? У меня как были в ссылках item'ы, так и остались. Стоит 2.5.5.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
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

  • Захожу иногда
  • 498
  • 50 / 1
Стоит заметить, что старые ссылки с item'ами остались работоспособными.
« Последнее редактирование: 14.01.2012, 12:53:34 от ankoch »
*

61rus

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Так же обновился до последней версии, но item и catalog остались. возможно настройки где есть?
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Глупый вопрос, однако - SEO Joomla включено?
*

61rus

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Подскажите, это где?:)
*

61rus

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Если вы в кофигурации самой Joomla, то конечно:
Search Engine Friendly URLs
Use URL rewriting
Adds Suffix to URL
включено
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Да, это там. У меня Joomla 1.5.23, всё работает при аналогичных настройках.

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

61rus

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

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
У вас Яндекс меньше чем за неделю прошустрил весь сайт и выкинул это уже в поиск?
Примерно за неделю.
*

61rus

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
*

j-lubitel

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Ребят, а никто не пытался убрать component/zoo/tag/что-то-тут в пути при выводе результатов поиска по тэгам в zoo?
А еще если в тэге забито два слова, например "такая статья", то в пути получится "/такая%20статья", как бы убрать эти %20?
Joomla 1.5.23, zoo 2.5.6.
*

j-lubitel

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

Код: 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

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Или в файле component/com_zoo/router.php нужно будет добавлять дополнительные строки вот сюда?:
Код: 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']);
}
}
Только что добавлять? Подскажите знающие люди.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ссылки в JBZoo

Автор Whitelamb

Ответов: 3
Просмотров: 1614
Последний ответ 15.09.2017, 22:17:11
от isay777
[Решено] Как в модуле ZOO Item вывести название и описание категории?

Автор frolov.ar

Ответов: 13
Просмотров: 3109
Последний ответ 01.04.2017, 13:29:52
от rivermc
Как настроить отображение страницы элемента product в виде cookbook?

Автор saschka

Ответов: 1
Просмотров: 1158
Последний ответ 12.01.2017, 16:44:50
от shtier
Запись данных из элемента

Автор yandex_hb

Ответов: 0
Просмотров: 770
Последний ответ 10.10.2016, 20:23:00
от yandex_hb
Модуль: ZOO item популярные за неделю ( НЕ бесплатно)

Автор dee88

Ответов: 4
Просмотров: 1606
Последний ответ 29.08.2016, 16:13:28
от ameli90