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

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 вывод нужных полей по отдельности

Автор klekovkinandrey

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

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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

Автор Den JW

Ответов: 1
Просмотров: 9218
Последний ответ 17.02.2020, 23:37:52
от Den JW