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

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
Re: Создаём router для AdsManager
« Ответ #30 : 24.02.2011, 16:59:09 »
не работает показ фото higslage при включении роутера, есть идеи как исправить?
Бложик про joomla, k2, joomshoppingdevul.ru
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Создаём router для AdsManager
« Ответ #31 : 24.02.2011, 18:47:13 »
не работает показ фото higslage при включении роутера, есть идеи как исправить?
Он у вас не работает из за включения СЕО
Тут есть тема по этому поводу, но решения нет
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
Re: Создаём router для AdsManager
« Ответ #32 : 24.02.2011, 18:52:49 »
ага.. из за сефа, непойму что не так.. скрипт грузится.. ссылка на картинку правильная... но не открывает и всё(

а лайтбокс работает нормально...
Бложик про joomla, k2, joomshoppingdevul.ru
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Создаём router для AdsManager
« Ответ #33 : 02.03.2011, 11:50:47 »
Что может быть не так ?
При создание нового сообщения, то не дает его редактировать
Выкидывает на главную страницу сайта или если дает, то не меняет категории
В другую категорию не возможно перетащить его, так же перекидывает в эту категорию, хотя из выпадающего меню выбираешь другую категорию

Может нужно что то включить для него ?
А то смотрю у многих работает, а у меня нет
Перепробовал все в этой теме и от 2.6 и самый первый и не один не работает на версии 2.5
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Создаём router для AdsManager
« Ответ #34 : 07.04.2011, 12:10:46 »
Вот еще вариант http://www.themagicclicks.com/blog/joomla/14-adsmanangerrouter.html
Попробовал его, но он правда выдает ошибку libraries/joomla/filter/filterinput.php on line 116

У меня еще много проблем было из за файла htaccess
Там нужно было раскоментировать вот эту строку RewriteBase /

Может тоже кому поможет
*

Beer

  • Завсегдатай
  • 1097
  • 41 / 1
  • БИРУ - БИР!
Re: Создаём router для AdsManager
« Ответ #35 : 15.04.2011, 16:10:33 »
 Роутер не во вложении (Папка переполнена...).
 Отображаться будут ссылки так:

Категория №2: http://сайт.ru/ads/2.html
Объявление №286: http://сайт.ru/ads/1/286.html

Код
<?php
/**
 * @package AdsManager
 * @copyright Copyright (C) 2010-2011 JoomPROD.com. All rights reserved.
 * @license GNU/GPL
 */

jimport( 'joomla.filter.output' );


function getAdsmanagerRouteCategory($id)
{
$db = &JFactory::getDBO();
$sql = "SELECT name FROM #__adsmanager_categories WHERE id = ".(int)$id;
$db->setQuery($sql);
$result = str_replace(array(" ",":","/"),array("-","-","-"),$db->loadResult());
$result= JFilterOutput::stringURLSafe($result);
$result = substr($result,0,30);
return $result;
}

function getAdsmanagerRouteContent($id)
{
$db = &JFactory::getDBO();
//$sql = "SELECT ad_headline FROM #__adsmanager_ads WHERE id = ".(int)$id;
$db->setQuery($sql);
$result = str_replace(array(" ",":","/"),array("-","-","-"),$db->loadResult());
$result= JFilterOutput::stringURLSafe($result);
$result = substr($result,0,30);
return $result;
}

function getAdsmanagerUser($userid)
{
$db = &JFactory::getDBO();
$sql = "SELECT username FROM #__users WHERE id = ".(int)$userid;
$db->setQuery($sql);
$result = str_replace(array(" ",":","/"),array("-","-","-"),$db->loadResult());
$result= JFilterOutput::stringURLSafe($result);
$result = substr($result,0,30);
return $result;
}


function AdsmanagerBuildRoute(&$query)
{
$segments = array();

if (!isset($query['task']))
$t = "";
else
$t = $query['task'];

switch($t)
{
case "display":
case "":
if (!isset($query['view']))
$v = "";
else
$v = $query['view'];
switch($v)
{
case "details":
//$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
//$segments[] = $query["id"]."-".getAdsmanagerRouteContent($query["id"]);
$segments[] = $query["catid"];
$segments[] = $query["id"];
unset($query["id"]);
unset($query["catid"]);
unset($query["task"]);
unset($query["view"]);
break;
case "expiration":
$segments[] = $query["id"]."-".getAdsmanagerRouteContent($query["id"]);
$segments[] = JText::_('ADSMANAGER_SEF_EXPIRATION');
unset($query["id"]);
unset($query["task"]);
unset($query["view"]);
break;
case "front":
unset($query["task"]);
unset($query["view"]);
break;
case "list":
if (isset($query["catid"])&&($query["catid"] != 0)) {
//$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
$segments[] = $query["catid"];
}
else if (isset($query["user"])&&($query["user"] != 0)) {
$segments[] = JText::_('ADSMANAGER_SEF_USER');
$segments[] = $query["user"]."-".getAdsmanagerUser($query["user"]);
}
else {
$segments[] = JText::_('ADSMANAGER_SEF_ALL_ADS');
}
unset($query["user"]);
unset($query["catid"]);
unset($query["task"]);
unset($query["view"]);
break;
case "login":
$segments[] = JText::_('ADSMANAGER_SEF_LOGIN');
unset($query["task"]);
unset($query["view"]);
break;
case "message":
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
$segments[] = $query["contentid"]."-".getAdsmanagerRouteContent($query["contentid"]);
$segments[] = JText::_('ADSMANAGER_SEF_CONTACT');
unset($query["contentid"]);
unset($query["catid"]);
unset($query["task"]);
unset($query["view"]);
break;
case "profile":
$segments[] = JText::_('ADSMANAGER_SEF_PROFILE');
unset($query["task"]);
unset($query["view"]);
break;
case "result":
$segments[] = JText::_('ADSMANAGER_SEF_RESULT');
unset($query["task"]);
unset($query["view"]);
break;
case "rules":
$segments[] = JText::_('ADSMANAGER_SEF_RULES');
unset($query["task"]);
unset($query["view"]);
break;
case "search":
if (isset($query["catid"])&&($query["catid"] != 0)) {
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
}
$segments[] = JText::_('ADSMANAGER_SEF_SEARCH');
unset($query["task"]);
unset($query["view"]);
unset($query["catid"]);
break;
}
break;
case "write":
if (isset($query["id"])&&($query["id"] != 0))
{
if (!isset($query["catid"]))
$query["catid"] = 0;
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
$segments[] = $query["id"]."-".getAdsmanagerRouteContent($query["id"]);
$segments[] = JText::_('ADSMANAGER_SEF_EDIT');
}
else
{
if (isset($query["catid"])) {
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
}
$segments[] = JText::_('ADSMANAGER_SEF_WRITE');
}

unset($query["id"]);
unset($query["catid"]);
unset($query["task"]);
unset($query["view"]);
break;
break;
case "delete":
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
$segments[] = $query["id"]."-".getAdsmanagerRouteContent($query["id"]);
$segments[] = JText::_('ADSMANAGER_SEF_DELETE');
unset($query["id"]);
unset($query["catid"]);
unset($query["task"]);
unset($query["view"]);
break;
break;
case "save":

break;
case "saveprofile":

break;
case "sendmessage":

break;
case "renew":

break;
}

//unset($query["task"]);
//unset($query["view"]);

return $segments;
}

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

$lang = JFactory::getLanguage();
$lang->load("com_adsmanager");

//Get the active menu item
$menu =& JSite::getMenu();
$item =& $menu->getActive();

$nbsegments = count($segments);

if (in_array(JText::_('ADSMANAGER_SEF_RESULT'),$segments))
{
$vars["view"] = "result";
}
else if (in_array(JText::_('ADSMANAGER_SEF_SEARCH'),$segments))
{
$vars["view"] = "search";
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $vars['task'] = "display";
}
else if (in_array(JText::_('ADSMANAGER_SEF_EDIT'),$segments))
{
$vars["view"] = "edit";
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['id'] = (int) $id[0];
    $vars['task'] = "write";
}
else if (in_array(JText::_('ADSMANAGER_SEF_WRITE'),$segments))
{
$vars["view"] = "edit";
    $vars['task'] = "write";
    $catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
}
else if (in_array(JText::_('ADSMANAGER_SEF_DELETE'),$segments))
{
$vars["view"] = "edit";
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['id'] = (int) $id[0];
    $vars['task'] = "delete";
}
else if (in_array(JText::_('ADSMANAGER_SEF_EXPIRATION'),$segments))
{
$vars["view"] = "expiration";
    $id = explode( ':', $segments[0] );
    $vars['id'] = (int) $id[0];
    $vars['task'] = "display";

}
else if (in_array(JText::_('ADSMANAGER_SEF_RULES'),$segments))
{
$vars["view"] = "rules";
}
else if (in_array(JText::_('ADSMANAGER_SEF_PROFILE'),$segments))
{
$vars["view"] = "profile";
}
else if (in_array(JText::_('ADSMANAGER_SEF_ALL_ADS'),$segments))
{
$vars["view"] = "list";
}
else if (in_array(JText::_('ADSMANAGER_SEF_LOGIN'),$segments))
{
$vars["view"] = "login";
}
else if (in_array(JText::_('ADSMANAGER_SEF_CONTACT'),$segments))
{
$vars["view"] = "message";
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['contentid'] = (int) $id[0];
    $vars['task'] = "display";
}
else if (in_array(JText::_('ADSMANAGER_SEF_USER'),$segments))
{
$userid = explode( ':', $segments[1] );
$vars['user'] = (int) $userid[0];
$vars['task'] = "display";
$vars['view'] = "list";
}
else
{
if ($nbsegments == 2)
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['id'] = (int) $id[0];
    $vars["view"] = "details";
}
else
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $vars["view"] = "list";
}
$vars['task'] = "display";
}

return $vars;
}
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Создаём router для AdsManager
« Ответ #36 : 16.04.2011, 00:03:48 »
при этом роутере одни цифры в строке , а мне бы хотелось наоборот что-бы писалось категории, подкатегории, как сделать?
*

stanislav

  • Новичок
  • 3
  • 0 / 0
Re: Создаём router для AdsManager
« Ответ #37 : 16.04.2011, 11:56:08 »
Для версии 2.6 вот роутер
У меня этот роутер не добавляет латиницей в урл кириллические название категории или объявления. Это его как то править нужно или настроить ?

сравнил его с роутером для VirtueMart, не хватает функции, которая транслитит имя, никто такое себе не сделал? )
« Последнее редактирование: 16.04.2011, 14:38:21 от stanislav »
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Создаём router для AdsManager
« Ответ #38 : 02.05.2011, 14:09:53 »
подскажите как убрать в адресной строке site.ru/all_ads.html?Itemid=0
« Последнее редактирование: 02.05.2011, 14:23:12 от mbgr »
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Создаём router для AdsManager
« Ответ #39 : 19.05.2011, 23:31:09 »
новая ссылка http://files.mail.ru/2KX8W7
Самый рабочий роутор, но блин редактировать не дает сообщения, выкидывает на главную страницу сайта
Но не все, некоторые дает редактировать
В чем может быть проблема ?
*

denmos

  • Захожу иногда
  • 96
  • 7 / 0
  • SINTEZ2 + мафон "легенда"
Re: Создаём router для AdsManager
« Ответ #40 : 20.05.2011, 16:30:02 »
Стоит у меня этот роутер- всё нормуль.
Но есть одно "НО" : если отредактировать заголовок - после сохранения, при клике по ссылкам редактировать, удалить - выкидывает на главную. И это логично, ведь заголовок привязан к УРЛ.
Вижу выход в запрете редактирования заголовков записей. Пробовал опция поля:редактируемое: нет - получается, что и при добавлении не заполнить. Надо чё-то думать!
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Создаём router для AdsManager
« Ответ #41 : 20.05.2011, 20:19:34 »
У меня даже если нечего не редактируешь, а хочешь старые, которые были размещены до установки роутора, то нажимаешь отредактировать, то сразу кидает на главную и не хочет их редактировать
А некоторые редактирует и с чем связано не пойму
Тогда бы уж все не редактировал, а лучше редактировал бы
Перепробовал все, что есть в теме и ссылки из этой темы и не один нормально не работает, только этот самый лучший http://files.mail.ru/2KX8W7 по работе, но с небольшим глюком, а вот как его решить, то не знаю
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Re: Создаём router для AdsManager
« Ответ #42 : 14.06.2011, 17:06:02 »
Кто-нибудь знает, как поправить router от AdsManager 2.6.1, чтобы сократить ссылку, убрав категорию или оставив только её id?

http://site.ru/1-category/1-prodam-tovar
=
http://site.ru/1/1-prodam-tovar
или
http://site.ru/1-prodam-tovar

[вложение удалено Администратором]
« Последнее редактирование: 29.06.2011, 13:39:40 от Dimm555 »
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Создаём router для AdsManager
« Ответ #43 : 01.07.2011, 16:54:58 »
Тоже интересен вопрос
*

beagler

  • Живу я здесь
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: Создаём router для AdsManager
« Ответ #44 : 19.09.2011, 21:39:39 »
чтобы получить http://site.ru/1/1-prodam-tovar
поиском и заменой меняем все
Код
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
на
Код
$segments[] = $query["catid"];

не проверял
*

lgmax

  • Захожу иногда
  • 299
  • 1 / 1
Re: Создаём router для AdsManager
« Ответ #45 : 26.11.2011, 17:54:17 »
У меня этот роутер не добавляет латиницей в урл кириллические название категории или объявления. Это его как то править нужно или настроить ?

сравнил его с роутером для VirtueMart, не хватает функции, которая транслитит имя, никто такое себе не сделал? )
Актуальный вопрос, как его решить? кто знает?
*

wbhrevaktrc122

  • Осваиваюсь на форуме
  • 30
  • 2 / 1
  • ИнДуС
Re: Создаём router для AdsManager
« Ответ #46 : 12.02.2012, 10:34:38 »
Как и что нужно поменять в файлах для того чтобы ссылка была вида www.sitename.ru/id209

Мои настройки:
AdsManager 2.6.5
Joomla 1.5.22
-Включить SEO - Да
-Использовать mod_rewrite - Да

www.sitename.ru/id209 - пример страницы объявления

помогите пожалуйста гуру уже всю голову сломал. Спасибо!
« Последнее редактирование: 12.02.2012, 10:50:29 от wbhrevaktrc122 »
*

wbhrevaktrc122

  • Осваиваюсь на форуме
  • 30
  • 2 / 1
  • ИнДуС
Re: Создаём router для AdsManager
« Ответ #47 : 12.02.2012, 10:51:57 »
чтобы получить http://site.ru/1/1-prodam-tovar
поиском и заменой меняем все
Код
$segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
на
Код
$segments[] = $query["catid"];

не проверял

не работает
*

wbhrevaktrc122

  • Осваиваюсь на форуме
  • 30
  • 2 / 1
  • ИнДуС
Re: Создаём router для AdsManager
« Ответ #48 : 13.02.2012, 14:54:32 »
народ помогите сделать!
*

wbhrevaktrc122

  • Осваиваюсь на форуме
  • 30
  • 2 / 1
  • ИнДуС
Re: Создаём router для AdsManager
« Ответ #49 : 14.02.2012, 04:40:01 »
я так понимаю что-то  здесь надо править

   //Get the active menu item
   $menu =& JSite::getMenu();
   $item =& $menu->getActive();
   
   $nbsegments = count($segments);
*

magistr_yoda

  • Захожу иногда
  • 131
  • 2 / 0
Re: Создаём router для AdsManager
« Ответ #50 : 16.02.2012, 20:39:25 »
Скажите а обязательно ли в формируемой ссылки на категорию, должен содержаться id категории ?
http://site.ru/1-avto/ - вот такого вида ссылки получаются стандартым роутером, при выполнении такого кода
Код: php
<div class="adsmanager_subcats">
<?php foreach($this->subcats as $key => $subcat) {
$subcat->link = JRoute::_('index.php?option=com_adsmanager&view=list&catid='.$subcat->id."&Itemid=".$this->Itemid);
if ($key != 0)
echo ' | ';
echo '<a href="'.$subcat->link.'">'.$subcat->name.'</a>';
}

Понимаю что роутер ищет по id, категории - и он вроде как должен быть в урле, но
если мы посмотрим на строку то увидим там также параметр view=list - который куда то исчезает в готовом урле,
а Joomla как то понимает что итак стоит этот view=list
Надо сделать урлы вида http://site.ru/avto/ - т.е. чтобы Joomla также понимала что это категория номер 1.
Блин запутался с этим роутером.
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Создаём router для AdsManager
« Ответ #51 : 16.04.2012, 15:11:01 »
поделитесь рабочим,настроенным роутером для 2.6.5 пожалуйста
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Создаём router для AdsManager
« Ответ #52 : 10.07.2012, 14:21:27 »
не работает

Не бывает такого, чтобы просто "не работало". Либо есть положительный результат, либо есть ошибка.

Пробуйте менять ручками, раз с автозаменой у вас не получается. Этот способ рабочий.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Создаём router для AdsManager
« Ответ #53 : 10.07.2012, 14:27:40 »
Скажите а обязательно ли в формируемой ссылки на категорию, должен содержаться id категории ?
http://site.ru/1-avto/ - вот такого вида ссылки получаются стандартым роутером, при выполнении такого кода
Код: php
<div class="adsmanager_subcats">
<?php foreach($this->subcats as $key => $subcat) {
$subcat->link = JRoute::_('index.php?option=com_adsmanager&view=list&catid='.$subcat->id."&Itemid=".$this->Itemid);
if ($key != 0)
echo ' | ';
echo '<a href="'.$subcat->link.'">'.$subcat->name.'</a>';
}

Понимаю что роутер ищет по id, категории - и он вроде как должен быть в урле, но
если мы посмотрим на строку то увидим там также параметр view=list - который куда то исчезает в готовом урле,
а Joomla как то понимает что итак стоит этот view=list
Надо сделать урлы вида http://site.ru/avto/ - т.е. чтобы Joomla также понимала что это категория номер 1.
Блин запутался с этим роутером.

Если посмотрите на содержимое стандартного файла router для версии AdsManager 2.6.5, то увидите, куда "пропадают" (точнее, во что преобразовываются и почему) параметры типа view=list.

А по поводу адресов вида site.ru/1-auto/...: это реализовать можно, и можно даже несколькими способами. Пользуйтесь поиском по форуму и ищите тему, в которой упоминалось преобразование кириллических адресов в транслитерацию.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

magistr_yoda

  • Захожу иногда
  • 131
  • 2 / 0
Re: Создаём router для AdsManager
« Ответ #54 : 04.03.2013, 17:43:29 »
Кусок кода роутера адса 2.7 j 2.5, функция  AdsmanagerParseRoute

Код: php
	else
{
if ($nbsegments == 2) // Формирует ссылку для просмотра объявления
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['id'] = (int) $id[0];
    $vars["view"] = "details";
}
else // формирует ссылку для просмотра категорий
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $vars["view"] = "list";
}
$vars['task'] = "display";
}
 

Надо было к ссылкам категорий, добавить 1 дополнительный параметр, и пришлось чтобы категории работали в строке $nbsegments == 2, заменить на 3, но теперь перестали работать объявления, пришлось и к ссылкам объявления добавить доп параметр. Теперь всё работает, но вопрос мучает, а можно ли как то передавать в эту функцию массив segments из функции AdsmanagerBuildRoute, который бы содержал какую нибудь именную переменную(явно указывающую на то, ссылка какого типа обрабатывается), но чтобы сама эта переменная не отображалась в урле, т.е. чтобы в случае очередного изменения, дополнения параметров, можно было не менять остальные куски кода(из за доп параметров увеличивать nbsegments), т.е. чтобы с одной стороны можно было определить нужное действия по такому типу
Код: php
else if (in_array(JText::_('ADSMANAGER_SEF_WRITE'),$segments))
, но чтобы само значение как например ADSMANAGER_SEF_WRITE(Добавить-объявление) не отображалось в урле. ?
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Re: Создаём router для AdsManager
« Ответ #55 : 09.11.2013, 22:23:13 »
Итак, создаём роутер для AdsManager ...
У меня к форумчанам такой вопрос: Каким образом можно сделать иерархические ссылки в AdsManager 2,9.x
Такого вида - site.com/1-category/2-subcategory/3-sub-subcategory/...

Что пробовал делать... в файле router.php создал функцию определения родительской категории:
Код: php
//Стандартная функция получения пути категории
function getAdsmanagerRouteCategory($id)//
{
$db =JFactory::getDBO();
$sql = "SELECT name FROM #__adsmanager_categories WHERE id = ".(int)$id;
$db->setQuery($sql);
$result = str_replace(array(" ",":","/"),array("-","-","-"),$db->loadResult());
$result= JFilterOutput::stringURLSafe($result);
$result = substr($result,0,30);
return $result;
}

//Вставленная функция получения пути родительской категории
function getAdsmanagerRouteParentCategory($id)
{
$db =JFactory::getDBO();
$sql = "SELECT parent FROM #__adsmanager_categories WHERE id = ".(int)$id;
$db->setQuery($sql);
$parent = $db->loadResult();
if ((isset($parent))&&($parent != 0)){
$res = getAdsmanagerRouteCategory($parent);
$res = $parent."-".$res."/";
}else{
$res="";
}
return $res;
}

Далее модифицировал функцию AdsmanagerBuildRoute, а именно строку case "list"
Код: php
case "list":
if (isset($query["catid"])&&($query["catid"] != 0)) {
//ВМЕСТО $segments[] = $query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]); ВСТАВИЛ -
$segments[] = getAdsmanagerRouteParentCategory($query["catid"]).$query["catid"]."-".getAdsmanagerRouteCategory($query["catid"]);
}

Ну и в конце концов изменил функцию AdsmanagerParseRoute в самом конце
БЫЛО -
Код: php
	else
{
if ($nbsegments == 2)
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['id'] = (int) $id[0];
    $vars["view"] = "details";
}
else
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $vars["view"] = "list";
}
$vars['task'] = "display";
}

return $vars;

СТАЛО -
Код: php
	else
{
if ($nbsegments == 2)
{
$catid = explode( ':', $segments[0] );
    $vars['catid'] = (int) $catid[0];
    $id = explode( ':', $segments[1] );
    $vars['id'] = (int) $id[0];
    $vars["view"] = "details";
}
else
{
$result = explode("/",$segments[0]);
if (isset($result[1])){
$catid = explode("-",$result[1]);
}else{
$catid = explode(":",$result[0]);
}
    $vars['catid'] = (int) $catid[0];
    $vars["view"] = "list";
}
$vars['task'] = "display";
}

return $vars;
ИТОГ: Ссылки стали иерархическими, но при переходе в подкатегорию: авторизованного пользователя - попадаем на родительскую, гость - сообщение об ошибке "ASDMANAGER_NO_RIGHT" и на главную.

Как сделать работоспособную версию роутера с иерархическими ссылками на категории и объявления?
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

rk3dnp

  • Захожу иногда
  • 320
  • 5 / 0
Re: Создаём router для AdsManager
« Ответ #56 : 30.12.2013, 21:24:23 »
А как в версии 2.9.6 убрать id товара? Категории получилось, а вот с товаром проблема.
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Re: Создаём router для AdsManager
« Ответ #57 : 31.12.2013, 19:47:10 »
А как в версии 2.9.6 убрать id товара? Категории получилось, а вот с товаром проблема.
По аналогии, только нужно какой-нибудь суффикс добавить типа tovar-show.html чтоб потом дать роутеру понять, что это товар, а не категория. После Нового года выложу свой роутер с неограниченной вложенностью категорий и товаром без id
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

rk3dnp

  • Захожу иногда
  • 320
  • 5 / 0
Re: Создаём router для AdsManager
« Ответ #58 : 03.01.2014, 11:52:28 »
По аналогии, только нужно какой-нибудь суффикс добавить типа tovar-show.html чтоб потом дать роутеру понять, что это товар, а не категория. После Нового года выложу свой роутер с неограниченной вложенностью категорий и товаром без id
Не получается Тут
Код
$segments[] = $query["id"]."-".getAdsmanagerRouteContent($query["id"]);
делаю
Код
$segments[] = "obyavlenie"."-".getAdsmanagerRouteContent($query["id"]);
Объявление не открывает.
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Re: Создаём router для AdsManager
« Ответ #59 : 11.01.2014, 20:51:14 »
Не получается Тут ...
Объявление не открывает.
Попробуй вот этот роутер. Там вложенность категорий безгранична должна быть, но вот на счет ID объявления не уверен.
Спойлер
[свернуть]

Если немного перепилить и обмозговать запрос с поиском объявления в базе данных, то думаю вполне спокойно можно избавиться от ID объявления.
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 2741
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 13248
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 2033
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 12240
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 27405
Последний ответ 27.03.2020, 22:32:04
от Pavel