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

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Здравствуйте, форумчане!
Являюсь "счастливым бета-тестером" AdsManager 2.8 "Stable" :laugh:
Помогите разобраться с этим "/component/adsmanager/" в адресе.
То, что советовали здесь http://joomlaforum.ru/index.php/topic,231834.0.html не работает (на 2.7 делал, там работает).
Имеем ссылки вида index.php/component/adsmanager/все%20объявления?Itemid=
Так как пишет Alex89 в теме, ссылку на которую я дал выше, еще и "itemid вообще не определяется", и, если я правильно понимаю, у меня из-за этого не получается реализовать другие "хаки".
Помогите, пожалуйста, справиться с этим зверем AdsManager 2.8  :'(
« Последнее редактирование: 26.03.2013, 13:17:18 от lustoff »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
нашёл "камешек":
открываете файлик \components\com_adsmanager\lib\route.php, ищете функцию _getViewItemid и в ней заменяете
Код
$val = false;
на
Код
$val = NULL;
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Спасибо, добрый человек! :D
+100500 в репу и карму  *DRINK*
« Последнее редактирование: 26.03.2013, 15:56:04 от lustoff »
*

ssttaass

  • Осваиваюсь на форуме
  • 33
  • 0 / 1
нашёл "камешек":
открываете файлик \components\com_adsmanager\lib\route.php, ищете функцию _getViewItemid и в ней заменяете
Код
$val = false;
на
Код
$val = NULL;

Скажите пожалуйста я не нашел в файле route.php  код $val = false; для замены что нужно мне исправить ниже весь код

Код
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');

class TRoute
{
var $menuname = 'mainmenu';

/**
* Method to wrap around getting the correct links within the email
*
* @return string $url
* @param string $url
* @param boolean $xhtml
*/
static function getExternalURL( $url , $xhtml = false )
{
$uri =& JURI::getInstance();
$base = $uri->toString( array('scheme', 'host', 'port'));

return $base . TRoute::_( $url , $xhtml );
}

/**
* Wrapper to JRoute to handle itemid
* We need to try and capture the correct itemid for different view
*/
static function _($url, $xhtml = true, $ssl = null)
{
static $itemid = array();

parse_str( JString::str_ireplace( 'index.php?' , '' , $url  ) );

if( isset( $option ) && $option != 'com_adsmanager' && $option != 'com_paidsystem' )
{
return JRoute::_( $url , $xhtml , $ssl );
}

if (!isset($option)) {
return JRoute::_( $url , $xhtml , $ssl );
}


$urloption = $option;

if($urloption == 'com_adsmanager' && empty($view))
{
$view = 'front';
}
if($urloption == 'com_paidsystem' && empty($view))
{
$view = 'form';
}

if(!empty($task) && $task ='write')
{
$view = 'edit';
}

if (ADSMANAGER_SPECIAL == "abrivac") {
if ($view == "list")
$view ="result";
if ($view == "preview")
$view ="edit";
}

if(empty($itemid[$view]))
{
$currentItemid = JRequest::getInt('Itemid', 0);
$isValid = false;

$currentView = JRequest::getVar('view', 'front');
$currentOption = JRequest::getVar('option');

  // If the current Itemid match the expected Itemid based on view
  // we'll just use it
  $db =& JFactory::getDBO();
$viewId =TRoute::_getViewItemid($view,$urloption);

// if current itemid
if(($currentOption == $urloption) && $currentView == $view && $currentItemid!=0)
{
$itemid[$view] = $currentItemid;
$isValid = true;
}
else if($viewId === $currentItemid && !is_null($currentItemid) && $currentItemid!=0)
{
$itemid[$view] = $currentItemid;
$isValid = true;
}
else if($viewId !== 0 && !is_null($viewId))
{
$itemid[$view] = $viewId;
$isValid = true;
}


if(!$isValid)
{
$id = TRoute::_getDefaultItemid($urloption);
if($id !== 0 && !is_null($id))
{
$itemid[$view] =$id;
}
$isValid = true;
}

// Search the mainmenu for the 1st itemid of AdsManager we can find
if(!$isValid)
{
$db = JFactory::getDBO();
$query = 'SELECT id FROM #__menu WHERE '
. 'link LIKE ' . $db->Quote('%'.$urloption.'%')
. 'AND published =' . $db->Quote( 1 ). ' '
//. 'AND menutype =' . $db->Quote('{TRoute::menuname}')
. 'AND menutype !=' . $db->Quote( $config->get( 'toolbar_menutype' ) ). ' '
. 'AND type =' . $db->Quote( 'component' );
$db->setQuery($query);
$isValid = $db->loadResult();

if(!empty($isValid))
{
$itemid[$view] = $isValid;
}
}

// If not in mainmenu, seach in any menu
if(!$isValid)
{
$query = 'SELECT id FROM #__menu WHERE '
. ' link LIKE ' . $db->Quote('%'.$urloption.'%')
. ' AND published =' . $db->Quote( 1 ). ' '
. ' AND menutype !=' . $db->Quote( $config->get( 'toolbar_menutype' ) ). ' '
. ' AND type =' . $db->Quote( 'component' );
$db->setQuery($query);
$isValid = $db->loadResult();
if(!empty($isValid))
$itemid[$view] = $isValid;
}


}

$pos = strpos($url, '#');
if ($pos === false)
{
if( isset( $itemid[$view] ) ){
            if(strpos($url, 'Itemid=')=== false && strpos($url,$urloption)!== false){
                $url .= '&Itemid='.$itemid[$view];
                }
        }
}
else
{
if( isset( $itemid[$view] ) )
$url = str_ireplace('#', '&Itemid='.$itemid[$view].'#', $url);
}

$data =  JRoute::_($url, $xhtml, $ssl);
        return $data;
}

/**
* Return the Itemid specific for the given view.
*/
static function _getViewItemid($view,$urloption='com_adsmanager')
{
static $itemid = array();

$lg =& JFactory::getLanguage();
$lang =  $lg->getTag();

if(empty($itemid[$view]))
{
$db =& JFactory::getDBO();
//$config = CFactory::getConfig();
$url = $db->quote('%option='.$urloption.'&view=' . $view . '%');
$type = $db->quote('component');

if (version_compare(JVERSION,'2.5','<')) {
$query = 'SELECT id FROM #__menu '
. 'WHERE link LIKE ' . $url . ' '
. 'AND published =' . $db->Quote( 1 ). ' '
. 'AND type =' . $db->Quote( 'component' );
$db->setQuery($query);
$val = $db->loadResult();
} else {
$query = 'SELECT id,language FROM #__menu '
. 'WHERE link LIKE ' . $url . ' '
. 'AND published =' . $db->Quote( 1 ). ' '
. 'AND type =' . $db->Quote( 'component' );
$db->setQuery($query);
$list = $db->loadObjectList();
$val = null;
foreach($list as $m) {
if (($m->language=="*")||($m->language=="$lang")) {
$val = $m->id;
break;
}
}
}

$itemid[$view] = $val;
} else{
$val = $itemid[$view];
}
return $val;
}

/**
* Return the Itemid for default view, frontpage
*/
static function _getDefaultItemid($urloption = 'com_adsmanager')
{
static $defaultId = null ;

if($defaultId != null)
return $defaultId;

$db =& JFactory::getDBO();

if ($urloption == 'com_adsmanager')
$url = $db->quote("index.php?option=com_adsmanager&view=front");
else
$url = $db->quote("index.php?option=com_paidsystem&view=form");
$type = $db->quote('component');

$query  = 'SELECT id FROM #__menu'
.' WHERE link = ' . $url .' AND published =' . $db->Quote(1). ' '
. 'AND type =' . $db->Quote( 'component' );
$db->setQuery($query);
$val = $db->loadResult();

if(!$val)
{
$url = $db->quote("%option=".$urloption."%");

$query  = 'SELECT id FROM #__menu '
.' WHERE link LIKE ' . $url . ' AND published =' . $db->Quote(1). ' '
. 'AND type =' . $db->Quote( 'component' );
$db->setQuery($query);
$val = $db->loadResult();
}

$defaultId = $val;
return $val;
}
}
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
этот глюк присутствовал только в 2.8, в 2.8.1 и 2.8.2 уже поправлено
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Вопрос конечно не в тему, но в чем разница между 2.8.1 и 2.8.2?
*

ssttaass

  • Осваиваюсь на форуме
  • 33
  • 0 / 1
этот глюк присутствовал только в 2.8, в 2.8.1 и 2.8.2 уже поправлено

странно но у меня 2.8.2 а глюк присутствует вот http://info-onlain.ru/index.php/component/adsmanager/%D0%92%D1%81%D0%B5%20%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F.html?Itemid=435
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
странно но у меня 2.8.2 а глюк присутствует вот http://info-onlain.ru/index.php/component/adsmanager/%D0%92%D1%81%D0%B5%20%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F.html?Itemid=435
У Вас в двух пунктах меню выставлен home (главная и доска объявлений)
и уберите index.php/ из ссылки.
 
*

ssttaass

  • Осваиваюсь на форуме
  • 33
  • 0 / 1
У Вас в двух пунктах меню выставлен home (главная и доска объявлений)
и уберите index.php/ из ссылки.
 
исправил  помогло  спасибо  :D !
« Последнее редактирование: 13.06.2013, 12:55:00 от ssttaass »
*

ssttaass

  • Осваиваюсь на форуме
  • 33
  • 0 / 1
исправил  помогло  спасибо  :D !
хотя не совсем на разных браузерах по разному где есть приставка HTML?Itemid=435 где нету как можно ее убрать ?Itemid ?
*

serg4101

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
нашёл "камешек":
открываете файлик \components\com_adsmanager\lib\route.php, ищете функцию _getViewItemid и в ней заменяете
Код
$val = false;
на
Код
$val = NULL;
Уважаемый Alex89, подскажите новичку если не трудно, как сделать чтоб в детальном просмотре объявления Itemid= отражал id категории
« Последнее редактирование: 27.06.2013, 23:39:14 от serg4101 »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
Уважаемый Alex89, подскажите новичку если не трудно, как сделать чтоб в детальном просмотре объявления Itemid= отражал id категории
Значением параметра Itemid может быть только id пункта меню! Если имеется ввиду, что в качестве пунктов меню служат категории AdsManager, то сделать это не очень просто (в кратце - взять id категории, к которой принадлежит объявление, запросом в БД узнать id пункта меню, подставить найденный itemid к url на объявление)
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

g.slex

  • Новичок
  • 2
  • 0 / 0
исправил  помогло  спасибо  :D !
Извините не совсем понял как исправить по этой записи. У меня версия 2.8.0.
*

serg4101

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Значением параметра Itemid может быть только id пункта меню! Если имеется ввиду, что в качестве пунктов меню служат категории AdsManager, то сделать это не очень просто (в кратце - взять id категории, к которой принадлежит объявление, запросом в БД узнать id пункта меню, подставить найденный itemid к url на объявление)
Уважаемый Alex89 не поможете сформировать запрос, буду благодарен.
*

rostis

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
В файле по адресу components/com_adsmanager/views/list/tmpl/default.php в р-не 64 строки удалил ."&Itemid=".$this->Itemid и заработало без "component/adsmanager". Проблему создавали ссылки на субкатегории в режиме list. Ads 2.8.0.
П.с. Извините, что поднимаю старую тему, но может поможет кому.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager загрузка файлов

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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

Автор Den JW

Ответов: 1
Просмотров: 7857
Последний ответ 17.02.2020, 23:37:52
от Den JW
Хочу уточнить, есть в AdsManager возможность загрузки объявлений с парсера?

Автор DomBeri

Ответов: 3
Просмотров: 6543
Последний ответ 28.03.2019, 17:20:10
от DomBeri