Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
Хочется, чтобы цена в объявлениях показывалась не 2500 руб., а 2 500 руб. И не 6300000, а 6 300 000 руб. Никто не озадачивался?
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Меняется в двух местах:
1. файл adsmanager.html.php вместо
Код
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,$value);
echo "<br />";
break;
вставить
Код
case 'price':
if ($value != "")
$nums = $value;
$nombre_format_francais = number_format($nums, 2, '.', ' ');
echo $nombre_format_francais.' '.ADSMANAGER_DEVICE;
echo "<br />";
break;
2. в файле lang/lang_russian.php заменяйте
Код
DEFINE( "ADSMANAGER_DEVICE", "$&nbsp;%s");
на
Код
DEFINE( "ADSMANAGER_DEVICE", "&nbsp;руб.");
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
Спасибо, GlooM! Все получилось!

Осталась проблемка с выводом даты:
имею "Среда, 06 Январь 2010 ",
а хочется "Среда, 06 января 2010" или "06 января 2010" или, на худой конец, "06.01.2010"
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
очень хочется решить проблему с датой :-(
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Все получилось,но хотелось бы чтобы были пробелы, а не пробелы и точка. Кому нужны копейки? = ) Пробовал изменять код, но все безуспешно... ((( Есть другой код? Очень нужно!
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
не пробовал, но а если изменить код
Код
$nombre_format_francais = number_format($nums, 2, '.', ' ');
на
Код
$nombre_format_francais = number_format($nums, 0, ' ', ' ');
?
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
А я блин голову ломал! ))) Gloom +
*

Storage

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Если оставить строку кода вот так
$nombre_format_francais = number_format($nums, ' ');
то значение получается - 1,200,000 руб
(собственно, что меня вполне устраивает)
*

grinat

  • Захожу иногда
  • 356
  • 34 / 2
У меня только один вопрос, а почему так много букафф?

Меняется в одном месте:
файл adsmanager.html.php вместо
Код: php
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,$value);
echo "<br />";
break;
это
Код: php
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,number_format($value, 0, ',', ' '));
echo "<br />";
break;
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
У меня только один вопрос, а почему так много букафф?

Меняется в одном месте:
файл adsmanager.html.php вместо
Код: php
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,$value);
echo "<br />";
break;
это
Код: php
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,number_format($value, 0, ',', ' '));
echo "<br />";
break;

Решение хорошее, но как-то бы сделать чтобы в цене переноса не происходило на новую строку.
*

fomanza

  • Захожу иногда
  • 50
  • 0 / 0
Решение хорошее, но как-то бы сделать чтобы в цене переноса не происходило на новую строку.

Никто не решил как это реализовать?
*

fomanza

  • Захожу иногда
  • 50
  • 0 / 0
Спасибо, помогло.
*

Bassbass

  • Захожу иногда
  • 82
  • 3 / 0
Меняется в двух местах:
1. файл adsmanager.html.php вместо
Код
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,$value);
echo "<br />";
break;
вставить
Код
case 'price':
if ($value != "")
$nums = $value;
$nombre_format_francais = number_format($nums, 2, '.', ' ');
echo $nombre_format_francais.' '.ADSMANAGER_DEVICE;
echo "<br />";
break;
2. в файле lang/lang_russian.php заменяйте
Код
DEFINE( "ADSMANAGER_DEVICE", "$&nbsp;%s");
на
Код
DEFINE( "ADSMANAGER_DEVICE", "&nbsp;руб.");
Супер,то что надо...с меня + в Репутацию!
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
number_format($value, 0, ',', '&nbsp;')
У меня при этом между разрядами появляется знак &.
Пробую экранировать кавычками number_format($value, 0, ',', '"&nbsp;"') - между рязрядами появляются ".
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
У меня при этом между разрядами появляется знак &.
Пробую экранировать кавычками number_format($value, 0, ',', '"&nbsp;"') - между рязрядами появляются ".

а если чистый пробел поставить?
Код
number_format($value, 0, ',', ' ')
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
а если чистый пробел поставить?
Код
number_format($value, 0, ',', ' ')
Дак так и есть, изначально просто пробел стоит. Вот к чему приводит:

Не смертельно, но некрасиво.
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
тред по этому поводу

одно из предложенных решений, хотя имеющее и свои минусы
Цитировать
а не проще ли оставить пробел в number_format, и использовать либо <nobr> </nobr>, либо nowrap, если для ячейки в таблице.

"<nobr>".number_format($number, 2, ",", " ")."</nobr>"
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

TimBast

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Люди помогите, есть одна проблемка. Не могу убрать повторяющуюся надпись "Цена" Вот скриншоты:

« Последнее редактирование: 27.10.2011, 16:36:56 от TimBast »
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
на 2.6.4 сделал так, и все в строчку стало     $return .= sprintf(JText::_('ADSMANAGER_DEVICE'),"<nobr>".number_format($value, 0, ",", " "."</nobr>"));
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
Люди помогите, есть одна проблемка. Не могу убрать повторяющуюся надпись "Цена" Вот скриншоты:


В админке в этом поле сделать отображать в полном объявлении
*

TimBast

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Алекс82 Спасибо! С одной ценой так получилось а вот тут никак не убирается(
*

TimBast

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Очень помог Alex89 Если кому нужно вот решение

ну значит попробуйте вот так:
открываете файл \components\com_adsmanager\helpers\field.php
находите в нём кусок кода
Код
case 'price':
if ($value != "") {
$return .= sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 2, '.', ' '));
}
$return .= "<br />";
break;
и заменяете на
Код
case 'price':
if ($value != "") {
$return = sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 2, '.', ' '));
}
$return .= "<br />";
break;
т.е. убираете точку после $return
*

Olik

  • Новичок
  • 2
  • 0 / 0
нужна помощь, цена в листе объявлений и в просмотре отображается по разному.
components/com_adsmanager/views/list/tmpl/default.php

Код
<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;
 
?>
<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>
<h1 class="contentheading">
<?php
echo '<img  class="imgheading" src="'.$this->list_img.'" alt="'.$this->list_img.'" />';
echo JText::_($this->list_name);
if ($this->conf->show_rss == 1)
{
if (isset($this->listuser))
$linkrss = JRoute::_("index.php?option=com_adsmanager&view=list&format=feed&user=".$this->listuser);
else
$linkrss = JRoute::_("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 = 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>';
}
?>
</div>
<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>
<div class="adsmanager_search_box">
<div class="adsmanager_inner_box">
<?php if ($this->catid != 0) { ?>
<form action="<?php echo JRoute::_('index.php?option=com_adsmanager&view=list&catid='.$this->catid.'&Itemid='.$this->Itemid)?>" method="post">
<?php $urloptions = "&catid=".$this->catid; ?>
<?php } else if ($this->modeuser == 1) {?>
<form action="<?php echo JRoute::_('index.php?option=com_adsmanager&view=list&user='.$this->listuser.'&Itemid='.$this->Itemid)?>" method="post">
<?php $urloptions = "&user=".$this->listuser; ?>
<?php } else  {?>
<form action="<?php echo JRoute::_('index.php?option=com_adsmanager&view=list&Itemid='.$this->Itemid)?>" method="post">
<?php $urloptions = ""; ?>
<?php } ?>
<div align="left">
<input name="tsearch" id="tsearch" maxlength="20" alt="search" class="inputbox" type="text" size="20" 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 JRoute::_("index.php?option=com_adsmanager&view=search&catid=".$this->catid."&Itemid=".$this->Itemid);?>"><?php echo JText::_('ADSMANAGER_ADVANCED_SEARCH'); ?></a>
</div>
</form>
<?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 JRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=&Itemid=".$this->Itemid);?>" <?php if ($this->order == "0") { echo "selected='selected'"; } ?>><?php echo JText::_('ADSMANAGER_DATE'); ?></option>
  <?php foreach($this->orders as $o)
  {
               ?>
<option value="<?php echo JRoute::_("index.php?option=com_adsmanager&view=list".$urloptions."&order=".$o->fieldid."&Itemid=".$this->Itemid);?>" <?php if ($this->order == $o->fieldid) { echo "selected='selected'"; } ?>><?php echo JText::_($o->title); ?></option>
<?php
  }
?>
</select>
<?php } ?>  
</div>
</div>
<?php $this->general->showGeneralLink()?>
<?php
if ($this->pagination->total == 0 )
{
echo JText::_('ADSMANAGER_NOENTRIES');
}
else
{
echo $this->pagination->total;
?>
<?php 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 if (false): ?><?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>';
?><?php endif; ?>
</div>

<?php } ?>
<?php if ($this->mode != 1) { ?>
<table class="adsmanager_table">
<tr>
 <th><?php echo JText::_('ADSMANAGER_CONTENT'); ?></th>
 <?php
   foreach($this->columns as $col)
 {
echo "<th>".JText::_($col->name)."</th>";
 }
 ?>
 <th><?php echo JTEXT::_('ADSMANAGER_FORM_AD_PRICE'); ?></th>
 <?php if (false): ?><th><?php echo JText::_('ADSMANAGER_DATE'); ?></th><?php endif; ?>
</tr>
<?php
foreach($this->contents as $content)
{
$linkTarget = JRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid."&Itemid=".$this->Itemid);
if (function_exists('getContentClass'))
$classcontent = getContentClass($content);
     else
$classcontent = "adsmanager_table_description";
?>  
<tr class="<?php echo $classcontent;?>">
<td>
<?php
$ok = 0;$i=1;
$nbimages = $conf->nb_images;
if (function_exists("getMaxPaidSystemImages"))
{
$nbimages += getMaxPaidSystemImages();
}
while(!$ok)
{
if ($i < $nbimages + 1)
{
$ext_name = chr(ord('a')+$i-1);
$pic = JPATH_BASE."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg";
if (file_exists( $pic))
{
echo "<a href='".$linkTarget."'><img class='adimage' name='adimage".$content->id."' src='".$this->baseurl."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
$ok = 1;
}
}
else if ($nbimages != 0)
{
if ((JText::_('ADSMANAGER_NOPIC')!= "")&&(file_exists(JPATH_BASE."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC'))))
echo "<a href='".$linkTarget."'><img class='adimage' src='".$this->baseurl."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC')."' alt='nopic' /></a>";
else
echo "<a href='".$linkTarget."'><img class='adimage' src='".$this->baseurl."/components/com_adsmanager/images/nopic.gif' alt='nopic' /></a>";
$ok = 1;
}  
else
{
$ok = 1;
}
$i++;  
}
?>
<div>
<h2>
<?php if (false): ?><?php echo '<a href="'.$linkTarget.'">'.$content->ad_headline.'</a>'; ?><?php endif; ?>
<?php echo '<a href="'.$linkTarget.'">'.$content->ad_markaavto.' '.$content->ad_pokrasi.' '.$content->ad_god.'</a>'; ?>
<?php if (false): ?><span class="adsmanager_cat"><?php echo "(".$content->parent." / ".$content->cat.")"; ?></span><?php endif; ?>
</h2>
<?php echo 'Кузов:  '.stripslashes($content->ad_kuzov).'   '; ?>
<?php echo 'Пробег: '.stripslashes($content->ad_probeg).'</br>'; ?>
<?php echo 'Привод:  '.stripslashes($content->ad_privod).'   '; ?>
<?php echo 'КПП: '.stripslashes($content->ad_kpp).'</br>'; ?>
<?php echo 'Состояние: '.stripslashes($content->ad_sostoyanie).'</br>'; ?>
<?php if (false): ?><!-- описание -->
<?php
$content->ad_text = str_replace ('<br />'," ",$content->ad_text);
$af_text = JString::substr($content->ad_text, 0, 100)."...";
echo $af_text;
?><!-- --> <?php endif; ?>
</div>

<?php
if (($this->userid == $content->userid)&&($content->userid != 0)) {
?>
<div>
<?php
$target = JRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo "&nbsp;";
$target = JRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
?>
</td>
<?php
foreach($this->columns as $col) {
echo '<td class="center">';
if (isset($this->fColumns[$col->id]))
foreach($this->fColumns[$col->id] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
echo "</td>";
}
?>
<td class="center">                
  <?php echo '<a href="'.$linkTarget.'">'.stripslashes($content->ad_price).'</a>'; ?><?php echo JTEXT::_('ADSMANAGER_DEVICE2'); ?>
 <?php if (false): ?>
<?php echo '<a href="'.$linkTarget.'">'.number_format($content->ad_price, 0, ' ', ' ').'</a>'; ?><?php echo JTEXT::_('ADSMANAGER_DEVICE2'); ?>
 <?php endif; ?></td>
<?php if (false): ?><!-- -->

<td class="center">
<?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 == 2)
  {
$target = JRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=adsmanagerTab&user=".$content->userid."&Itemid=".$this->Itemid);
  }
  else
  {
$target = JRoute::_("index.php?option=com_adsmanager&view=list&user=".$content->userid."&Itemid=".$this->Itemid);
  }
 
  echo "<a href='".$target."'>".$content->user."</a><br/>";
}
?>
<?php echo sprintf(JText::_('ADSMANAGER_VIEWS'),$content->views); ?>
</td><?php endif; ?><!-- -->
</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);
     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)
{
echo $this->field->showFieldValue($content,$field);
}
} ?>
</h2>
<div>
<?php
if ($content->userid != 0)
{
echo JText::_('ADSMANAGER_SHOW_OTHERS');
if ($this->conf->comprofiler == 2)
   {
$target = JROUTE::_("index.php?option=com_comprofiler&task=userProfile&tab=AdsManagerTab&user=".$content->userid."&Itemid=".$this->Itemid);
}
   else
   {
$target = JROUTE::_("index.php?option=com_adsmanager&view=list&user=".$content->userid."&Itemid=".$this->Itemid);
   }
echo "<a href='$target'><b>".$content->user."</b></a>";

if ($this->userid == $content->userid) {
?>
<div>
<?php
$target = JROUTE::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo "&nbsp;";
$target = JROUTE::_("index.php?option=com_adsmanager&task=delete&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
}
?>
</div>
<div class="adsmanager_ads_kindof">
<?php if (@$this->positions[1]->title) {$strtitle = JText::_($this->positions[1]->title);} ?>
<?php echo "<b>".@$strtitle."</b>";
if (isset($this->fDisplay[2]))
{
foreach($this->fDisplay[2] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
}
?>
</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>";
if (isset($this->fDisplay[3]))
{
foreach($this->fDisplay[3] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
} ?>
</div>
<div class="adsmanager_ads_desc">
<?php if (@$this->positions[5]->title) {$strtitle = JText::_($this->positions[5]->title);} ?>
<?php echo "<b>".@$strtitle."</b>";
if (isset($this->fDisplay[6]))
{
foreach($this->fDisplay[6] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
} ?>
</div>
<div class="adsmanager_ads_price">
<?php if (@$this->positions[3]->title) {$strtitle = JText::_($this->positions[3]->title); } ?>
<?php echo "<b>".@$strtitle."</b>";
if (isset($this->fDisplay[4]))
{
foreach($this->fDisplay[4] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
}?>
</div>
<div class="adsmanager_ads_contact">
<?php if (@$this->positions[4]->title) {$strtitle = JText::_($this->positions[4]->title);} ?>
<?php echo "<b>".@$strtitle."</b>";
if (($this->userid != 0)||($conf->show_contact == 0)) {
if (isset($this->fDisplay[5]))
{
foreach($this->fDisplay[5] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
}
if (($content->userid != 0)&&($this->conf->allow_contact_by_pms == 1))
{
$pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$content->user);
$pmsForm = JROUTE::_("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
$image_found =0;
$nbimages = $this->conf->nb_images;
if (function_exists("getMaxPaidSystemImages"))
{
$nbimages += getMaxPaidSystemImages();
}
for($i=1;$i < $nbimages + 1;$i++)
{
$ext_name = chr(ord('a')+$i-1);
$pic = JPATH_BASE."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg";
$piclink = $this->baseurl."/images/com_adsmanager/img/".$content->id.$ext_name.".jpg";
if (file_exists($pic))
{
   switch($this->conf->image_display)
   {
case 'popup':
echo "<a href=\"javascript:popup('$piclink');\"><img src='".$this->baseurl."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
case 'lightbox':
case 'lytebox':
echo "<a href='".$piclink."' rel='lytebox[roadtrip".$content->id."]'><img src='".$this->baseurl."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
case 'highslide':
echo "<a id='thumb".$content->id."' class='highslide' onclick='return hs.expand (this)' href='".$piclink."'><img src='".$this->baseurl."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
case 'default':
default:
echo "<a href='".$piclink."' target='_blank'><img src='".$this->baseurl."/images/com_adsmanager/img/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
}
$image_found = 1;
}  
}
if (($image_found == 0)&&($conf->nb_images >  0))
{
if ((JText::_('ADSMANAGER_NOPIC')!= "")&&(file_exists(JPATH_BASE."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC'))))
echo '<img align="center" src="'.$this->baseurl.'/components/com_adsmanager/images/'.JText::_('ADSMANAGER_NOPIC').'" alt="nopic" /></a>';
else
echo '<img align="center" src="'.$this->baseurl.'/components/com_adsmanager/images/nopic.gif" 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();


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

// no direct access
defined('_JEXEC') or die('Restricted access');

/**
 * Content Component HTML Helper
 *
 * @static
 * @package Joomla
 * @subpackage Content
 * @since 1.5
 */
class JHTMLAdsmanagerField
{
var $content;
var $conf;
var $field_values;
var $mode;
var $plugins;
var $itemid;

function JHTMLAdsmanagerField($conf,$field_values,$mode,$plugins,$itemid,$baseurl) {
$this->conf = $conf;
$this->field_values = $field_values;
$this->mode = $mode;
$this->modetitle = 2 - $mode;//if $mode = 0 (list) => modetitle = 2 only title, //if $mode = 1 (details) => modeltitle = 1 (details)
$this->plugins = $plugins;
$this->itemid = $itemid;
$this->baseurl = $baseurl;
}

function showFieldValue($content,$field)
{
$return = "";
if ((strpos($field->catsid, ",".$content->catid.",")!== false)||(strpos($field->catsid, ",-1,")!== false))
{
if ($field->title)
$name = $field->name;

$value = "";
$content = $content;
$val = "\$content->".$field->name;
$fieldname = $field->name;
eval("if (isset($val)) \$value = \"$val\";");
$value = JText::_($value);

if (($field->type != 'multiselect')&&($field->type != 'checkbox')&&(($field->display_title & $this->mode) == $this->mode))
{
if ($value) $return .= "<b>".JText::_($field->title).":</b> ";
}
if (($field->type == 'multiselect')&&(($field->display_title & $mode) == $mode)) {
$valsel= str_replace(',','',$value);
if ($valsel != '') $return .= "<b>".JText::_($field->title).":</b> ";
}

switch($field->type)
{
case 'checkbox':
if (($field->display_title & $this->mode) == $this->mode)
{
$return .= JText::_($field->title);
if ($value == 1)
$return .= ":&nbsp;".JText::_('ADSMANAGER_YES')."<br />";
else
$return .= ":&nbsp;".JText::_('ADSMANAGER_NO')."<br />";
}
else if ($value == 1)
{
$return .= JText::_($field->title)."<br />";
}
break;

case 'multicheckbox':
case 'multicheckboximage':
for($i=0,$nb=count($this->field_values[$field->fieldid]);$i < $nb ;$i++)
{
$fieldvalue = @$this->field_values[$field->fieldid][$i]->fieldvalue;
$fieldtitle = @$this->field_values[$field->fieldid][$i]->fieldtitle;

if (strpos($value, ",".$fieldvalue.",")!== false)
{
if ($field->type == 'multicheckbox') {
$title .= JText::_($fieldtitle);
if ($title) $return[] = $title; }
else
if ($fieldtitle) $return[] = "<img src='".$this->baseurl."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
}
}
for($i=0,$nb=count($return);$i < $nb ;$i++)
if ($i < ($nb - 1)) echo $return[$i].","; else echo $return[$i].".";
break;

case 'url':
if ((isset($field->link_text))&&($field->link_text != ""))
$linkObj = $field->link_text;
else if ((isset($field->link_image))&&(file_exists(JPATH_BASE."/images/com_adsmanager/fields/".$field->link_image)))
$linkObj = "<img src='".$this->baseurl."/images/com_adsmanager/fields/".$field->link_image."' />";
else
{
$linkObj = $value;
}
if ($value != "")
{
$return .= "<a href='http://$value' target='_blank'>$linkObj</a><br />";
}
break;

case 'date':
$return = $value;
$return .= $return;
break;

case 'select':
if (isset($this->field_values[$field->fieldid])) {
foreach($this->field_values[$field->fieldid] as $v)
{
if ($value == $v->fieldvalue)
{
$return .= JText::_($v->fieldtitle);
if ($v->fieldtitle) $return .= "<br />";
}
}
}
break;

case 'multiselect':
if (isset($this->field_values[$field->fieldid])) {
foreach($this->field_values[$field->fieldid] as $v)
{
if (strpos($value, ",".$v->fieldvalue.",") === false)
{
}
else
{
$return .= JText::_($v->fieldtitle);
if ($v->fieldtitle) $return .= "<br />";
}
}
}
break;

case 'emailaddress':
if ($value != "")
{
switch($this->conf->email_display) {
case 2:
$emailForm = JRoute::_("index.php?option=com_adsmanager&view=message&contentid=".$content->id."&catid=".$content->catid."&Itemid=".$this->itemid);
$return .= '<a href="'.$emailForm.'">'.JText::_('ADSMANAGER_EMAIL_FORM').'</a><br />';
break;
case 1:
$return .= $this->Txt2Png($value)."<br/>";
break;
default:
$return .= JText::_('ADSMANAGER_FORM_EMAIL').": <a href='mailto:".$value."'>".$value."</a><br/>";
break;

}
}
break;

case 'textarea':
$return .= str_replace(array("\r\n", "\n", "\r"), "<br />", $value)."<br />";
break;

case 'editor':
case 'number':
case 'text':
$return .= $value;
if ($value) $return .= "<br />";
break;
case 'price':
if ($value != "") {
$return = sprintf(JText::_('ADSMANAGER_DEVICE'),number_format(floatval($value), 0, '.', ' ')); $return .= "<br />"; }
break;
case 'radio':
case 'radioimage':
for($i=0,$nb=count($this->field_values[$field->fieldid]);$i < $nb ;$i++)
{
$fieldvalue = @$this->field_values[$field->fieldid][$i]->fieldvalue;
$fieldtitle = @$this->field_values[$field->fieldid][$i]->fieldtitle;
if ($value == $fieldvalue)
{
if ($field->type == 'radio')
$return .= $fieldtitle;
else
$return .= "<img src='".$this->baseurl."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
$return .= "<br/>";
}
}
break;
case 'file':
if ($value != "")
{
$return .= "<a href='$this->baseurl/images/com_adsmanager/files/$value' target='_blank'>".JText::_('ADSMANAGER_DOWNLOAD_FILE')."</a></b>";
$return .= "<br />";
}
break;

default:
if (isset($this->plugins[$field->type]))
{
if ($this->mode == 1)
$plug = $this->plugins[$field->type]->getListDisplay($content->id,$field );
else
$plug = $this->plugins[$field->type]->getDetailsDisplay($content->id,$field );
$return .= $plug;
}
break;
}
}
return $return;
}

function showFieldForm($field,$content,$default)
{
$return = "";

$strtitle = JText::_($field->title);
if (isset($strtitle)) {
$return .= "<tr id='tr_".$field->name."'><td>".$strtitle."</td>\n";
$strtitle = htmlspecialchars($strtitle);
}
$name = $field->name;
$value = "@\$content->".$field->name;
eval("\$value = \"\".$value;");
$value = JText::_($value);

$default = (object) $default;
if (($value == "")&&(isset($default)))
{
$value ="\$default->".$field->name;
eval("\$value = @\"$value\";");
$value = JText::_($value);
}
$disabled="";
$read_only="";

$return .= "<td>";
switch($field->type)
{
case 'checkbox':
if ($field->required == 1)
$mosReq = "mosReq='1'";
else
$mosReq = "";

if ($value == 1)
$return .= "<input class='inputbox' type='checkbox' $mosReq mosLabel='$strtitle' checked='checked' id='$name' name='$name' value='1' />\n";
else
$return .= "<input class='inputbox' type='checkbox' $mosReq mosLabel='$strtitle' name='$name' id='$name' value='1' />\n";
break;
case 'multicheckbox':
case 'multicheckboximage':
$k = 0;
$return .= "<table>";
for ($i=0 ; $i < $field->rows;$i++)
{
$return .= "<tr>";
for ($j=0 ; $j < $field->cols;$j++)
{
$return .= "<td>";
$fieldvalue = @$this->field_values[$field->fieldid][$k]->fieldvalue;
$fieldtitle = @$this->field_values[$field->fieldid][$k]->fieldtitle;
if ($field->type == 'multicheckbox') {
if (isset($fieldtitle))
$fieldtitle=JText::_($fieldtitle);
}
else
{
$fieldtitle = "<img src='{$this->baseurl}images/com_adsmanager/fields/$fieldtitle' alt='$fieldtitle' />";
}
if (isset($this->field_values[$field->fieldid][$k]->fieldtitle))
{
if (($field->required == 1)&&($k==0))
$mosReq = "mosReq='1'";
else
$mosReq = "";

if ((strpos($value, ",".$fieldvalue.",") === false) &&
(strpos($value, $fieldtitle."|*|") === false) &&
(strpos($value, "|*|".$fieldtitle) === false) &&
($value !=  $fieldtitle))
$return .= "<input class='inputbox' type='checkbox' $mosReq  mosLabel='$strtitle' id='".$name."[]' name='".$name."[]' value='$fieldvalue' />&nbsp;$fieldtitle&nbsp;\n";
else
$return .= "<input class='inputbox' type='checkbox' $mosReq  mosLabel='$strtitle' id='".$name."[]' checked='checked' name='".$name."[]' value='$fieldvalue' />&nbsp;$fieldtitle&nbsp;\n";

}
$return .= "</td>";
$k++;
}
$return .= "</tr>";
}
$return .= "</table>";
break;


case 'date':
$options = array();
$options['size'] = 25;
$options['maxlength'] = 19;
if ($field->required == 1) {
$options['class'] = 'adsmanager_required';
$options['mosReq'] = '1';
$options['mosLabel'] = "$strtitle";
}
else
{
$options['class'] = 'adsmanager';
}
$return .= JHTML::_('behavior.calendar');

$return .= JHTML::_('calendar', $value, "$field->name", "$field->name", JText::_('ADSMANAGER_DATE_FORMAT_LC'), $options);

//$return = "<input $class type='text' name='$field->name' id='$field->name' size='25' maxlength='19' value='$value' readonly=true/>";
//$return .= "<input name='reset' type='reset' class='button' onclick=\"return showCalendar('$field->name', '%y-%m-%d');\" value='...' />";
//$return .= $return;
break;

case 'editor':
                $editor =& JFactory::getEditor();
$return .= $editor->display($field->name, $value, '', '', $field->cols, $field->rows);
break;

case 'select':
if ($field->editable == 0)
$disabled = "disabled=true";
else
$disabled = "";

if ($field->required == 1)
$return .= "<select id='$name' name='$name' mosReq='1' mosLabel='$strtitle' class='adsmanager_required' $disabled>\n";
else
$return .= "<select id='$name' name='$name' mosLabel='$strtitle' class='adsmanager' $disabled>\n";

if ($value=="")
$return .= "<option value=''>&nbsp;</option>\n";
if (isset($this->field_values[$field->fieldid])) {
foreach($this->field_values[$field->fieldid] as $v)
{
$ftitle = JText::_($v->fieldtitle);
if (($value == $v->fieldvalue)||($value == $ftitle))
$return .= "<option value='$v->fieldvalue' selected='selected' >$ftitle</option>\n";
else
$return .= "<option value='$v->fieldvalue' >$ftitle</option>\n";
}
}

$return .= "</select>\n";
break;

case 'multiselect':
if ($field->editable == 0)
$disabled = "disabled=true";
else
$disabled = "";
if ($field->required == 1)
$return .= "<select id=\"".$name."[]\" name=\"".$name."[]\" mosReq='1' mosLabel='$strtitle' multiple='multiple' size='$field->size' class='adsmanager_required' $disabled>\n";
else
$return .= "<select id='".$name."[]' name=\"".$name."[]\" mosLabel='$strtitle' multiple='multiple' size='$field->size' class='adsmanager' $disabled>\n";

if ($value=="")
$return .= "<option value=''>&nbsp;</option>\n";
if (isset($this->field_values[$field->fieldid])) {
foreach($this->field_values[$field->fieldid] as $v)
{
$ftitle = JText::_($v->fieldtitle);
if ($field->required == 1)
$mosReq = "mosReq='1'";

if ((strpos($value, ",".$v->fieldvalue.",") === false) &&
(strpos($value, $ftitle."|*|") === false) &&
(strpos($value, "|*|".$ftitle) === false) &&
($value !=  $ftitle))
$return .= "<option value='".str_replace("'","\'",$v->fieldvalue)."' >$ftitle</option>\n";
else
$return .= "<option value='".str_replace("'","\'",$v->fieldvalue)."' selected='selected' >$ftitle</option>\n";
}
}

$return .= "</select>\n";
break;

case 'textarea':
if ($field->editable == 0)
$read_only = "readonly=true";
else
$read_only = "";

if ($field->required == 1)
$return .= "<textarea class='adsmanager_required' mosReq='1' mosLabel='$strtitle' id='$name' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onkeypress='CaracMax(this, $field->maxlength) ;' $read_only>$value</textarea>\n";
else
$return .= "<textarea class='adsmanager' id='$name' mosLabel='$strtitle' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onkeypress='CaracMax(this, $field->maxlength) ;' $read_only>$value</textarea>\n";
break;

case 'url':
if (($this->mode == "write")&&($field->editable == 0))
$recontent_only = "readonly=true";
else
$recontent_only = "";

$return .= "http://";
if (($this->mode == "write")&&($field->required == 1))
$return .= "<input class='adsmanager_required' mosReq='1' id='$field->name' type='text' mosLabel='$strtitle' name='$field->name' size='$field->size' maxlength='$field->maxlength' $recontent_only value='".htmlspecialchars($value,ENT_QUOTES)."' />\n";
else
$return .= "<input class='adsmanager' id='$field->name' type='text' name='$field->name' mosLabel='$strtitle' size='$field->size' maxlength='$field->maxlength' $recontent_only value='".htmlspecialchars($value,ENT_QUOTES)."' />\n";
break;

case 'number':
case 'price':
if ($field->editable == 0)
$read_only = "readonly=true";
else
$read_only = "";

if ($field->required == 1)
$return .= "<input class='adsmanager_required' mosReq='1' id='$name' type='text' test='number' mosLabel='$strtitle' name='$name' size='$field->size' maxlength='$field->maxlength' $read_only value='$value' />\n";
else
$return .= "<input class='adsmanager' id='$name' type='text' name='$name' test='number' mosLabel='$strtitle' size='$field->size' maxlength='$field->maxlength' $read_only value='$value' />\n";
break;
case 'emailaddress':
if ($field->editable == 0)
$read_only = "readonly=true";
else
$read_only = "";

if ($field->required == 1)
$return .= "<input class='adsmanager_required' mosReq='1' id='$name' type='text' test='emailaddress' mosLabel='$strtitle' name='$name' size='$field->size' maxlength='$field->maxlength' $read_only value='$value' />\n";
else
$return .= "<input class='adsmanager' id='$name' type='text' test='emailaddress' name='$name' mosLabel='$strtitle' size='$field->size' maxlength='$field->maxlength' $read_only value='$value' />\n";
break;

case 'text':
if ($field->editable == 0)
$read_only = "readonly=true";
else
$read_only = "";

if ($field->required == 1)
$return .= "<input class='adsmanager_required' mosReq='1' id='$name' type='text' mosLabel='$strtitle' name='$name' size='$field->size' maxlength='$field->maxlength' $read_only value='".htmlspecialchars($value,ENT_QUOTES)."' />\n";
else
$return .= "<input class='adsmanager' id='$name' type='text' name='$name' mosLabel='$strtitle' size='$field->size' maxlength='$field->maxlength' $read_only value='".htmlspecialchars($value,ENT_QUOTES)."' />\n";
break;

case 'radio':
case 'radioimage':
$k = 0;
$return .= "<table>";
for ($i=0 ; $i < $field->rows;$i++)
{
$return .= "<tr>";
for ($j=0 ; $j < $field->cols;$j++)
{
$return .= "<td>";
$fieldvalue = @$this->field_values[$field->fieldid][$k]->fieldvalue;
$fieldtitle = @$this->field_values[$field->fieldid][$k]->fieldtitle;
if ($field->type == 'radio') {
if (isset($fieldtitle))
$fieldtitle=JText::_($fieldtitle);
}
else
{
$fieldtitle="<img src='{$this->baseurl}images/com_adsmanager/fields/$fieldtitle' alt='$fieldtitle' />";
}
if (isset($this->field_values[$field->fieldid][$k]->fieldtitle))
{
if (($field->required == 1)&&($k==0))
$mosReq = "mosReq='1'";
else
$mosReq = "";

if (($value == $fieldvalue)||($value == $fieldtitle))
$return .= "<input type='radio' $mosReq name='$name' id='$name' mosLabel='$strtitle' value='$fieldvalue' checked='checked' />&nbsp;$fieldtitle&nbsp;\n";
else
$return .= "<input type='radio' $mosReq name='$name' id='$name' mosLabel='$strtitle' value='$fieldvalue' />&nbsp;$fieldtitle&nbsp;\n";
}
$k++;
$return .= "</td>";
}
$return .= "</tr>";
}
$return .= "</table>";
break;
case 'file':
$return .= "<input id='$name' type='file' name='$name' mosLabel='$strtitle'/>";
if (isset($value)&&($value != ""))
{
$return .= "<br/><a href='{$this->baseurl}images/com_adsmanager/files/$value' target='_blank'>".JText::_('ADSMANAGER_DOWNLOAD_FILE')."</a>";
}
break;

default:
if(isset($this->plugins[$field->type]))
{
if (!isset($content->id))
$content->id = 0;
$return .= $this->plugins[$field->type]->getFormDisplay($content->id,$field );
}
}
if ((@$field->description)&&($field->description !="")) {
$return .= JHTML::tooltip(JText::_($field->description),JText::_($field->title));
}
$return .= "";
if (function_exists("checkPaidField"))
{
$return .= checkPaidField($field);
}
return $return;
}

function showFieldSearch($field,$catid,$default=null)
{
$default = (object) $default;

if (isset($default))
{
$value ="\$default->".$field->name;
eval("\$value = @\"$value\";");
$value = JText::_($value);
}

if (($catid == 0)||(strpos($field->catsid, ",$catid,")!== false)||(strpos($field->catsid, ",-1,")!== false))
{
echo "<tr><td>".JText::_($field->title)."</td><td>";
switch($field->type)
{
case 'checkbox':
if ($value == 1)
echo "<input class='inputbox' type='checkbox' name='".$field->title."' value='1' checked='checked' />\n";
else
echo "<input class='inputbox' type='checkbox' name='".$field->title."' value='1' />\n";
break;
case 'multicheckbox':
echo "<table class='cbMulti'>\n";
$k = 0;
for ($i=0 ; $i < $field->rows;$i++)
{
echo "<tr>\n";
for ($j=0 ; $j < $field->cols;$j++)
{
$fieldvalue = @$this->field_values[$field->fieldid][$k]->fieldvalue;
$fieldtitle = @$this->field_values[$field->fieldid][$k]->fieldtitle;
if (isset($fieldtitle))
$fieldtitle=JText::_($fieldtitle);
echo "<td>\n";
if (isset($this->field_values[$field->fieldid][$k])) {
if ((strpos($value, ",".$fieldvalue.",") === false) &&
(strpos($value, $fieldtitle."|*|") === false) &&
(strpos($value, "|*|".$fieldtitle) === false) &&
($value !=  $fieldtitle))
echo "<input class='inputbox' type='checkbox' name='".$field->name."[]' value='$fieldvalue' />&nbsp;$fieldtitle&nbsp;\n";
else
echo "<input class='inputbox' type='checkbox' checked='checked' name='".$field->name."[]' value='$fieldvalue' />&nbsp;$fieldtitle&nbsp;\n";
}
echo "</td>\n";
$k++;
}
echo "</tr>\n";
}
echo "</table>\n";
break;

case 'radio':
case 'select':
echo "<select id='".$field->name."' name='".$field->name."'>\n";
echo "<option value='' >&nbsp;</option>\n";
if (isset($this->field_values[$field->fieldid])) {
foreach($this->field_values[$field->fieldid] as $v)
{
$ftitle = JText::_($v->fieldtitle);
if (($value == $v->fieldvalue)||($value == $ftitle))
echo "<option value='$v->fieldvalue' selected='selected' >$ftitle</option>\n";
else
echo "<option value='$v->fieldvalue' >$ftitle</option>\n";
}
}

echo "</select>\n";
break;

case 'multiselect':

echo "<select name=\"".$field->name."[]\" multiple='multiple' size='$field->size'>\n";
if (isset($this->field_values[$field->fieldid])) {
foreach($this->field_values[$field->fieldid] as $v)
{
$ftitle = JText::_($v->fieldtitle);
if ($field->required == 1)
$mosReq = "mosReq='1'";

if ((strpos($value, ",".$v->fieldvalue.",") === false) &&
(strpos($value, $ftitle."|*|") === false) &&
(strpos($value, "|*|".$ftitle) === false) &&
($value !=  $ftitle))
echo "<option value='".str_replace("'","\'",$v->fieldvalue)."' >$ftitle</option>\n";
else
echo "<option value='".str_replace("'","\'",$v->fieldvalue)."' selected='selected' >$ftitle</option>\n";
}
}

echo "</select>\n";
break;

case 'price':
echo "от <input class='inputbox' type='text' size='10' maxlength='20' name='".$field->name."_ot' /> до <input class='inputbox' type='text' size='10' maxlength='20' name='".$field->name."_do' />";
                                        break;
case 'editor':
case 'textarea':
case 'number':
case 'emailaddress':
case 'url':
case 'text':
echo "<input name='".$field->name."' id='".$field->name."' value='$value' maxlength='20' class='inputbox' type='text' size='20' />";
break;

case 'date':
$options = array();
$options['size'] = 25;
echo JHTML::_('behavior.calendar');
echo JHTML::_('calendar', '', "$field->name", "$field->name", JText::_('ADSMANAGER_DATE_FORMAT_LC'), $options);
break;

default:
if(isset($this->plugins[$field->type]))
{
echo $this->plugins[$field->type]->getFormDisplay(0,$field );
}
}
echo "</td></tr>";
}
}

function Txt2Png( $text)
{
$png2display = md5($text);
$filenameforpng = JPATH_ROOT."/images/com_adsmanager/email/". $png2display . ".png";
$filename = $this->baseurl."images/com_adsmanager/email/". $png2display . ".png";
if (!file_exists($filenameforpng)) # we dont need to create file twice (md5)
{
# definitions
$font = JPATH_ROOT . "/components/com_adsmanager/font/verdana.ttf";
# create image / png
$fontsize = 9;
$textwerte = imagettfbbox($fontsize, 0, $font, $text);
$textwerte[2] += 8;
$textwerte[5] = abs($textwerte[5]);
$textwerte[5] += 4;
$image=imagecreate($textwerte[2], $textwerte[5]);
$farbe_body=imagecolorallocate($image,255,255,255);
$farbe_b = imagecolorallocate($image,0,0,0);
$textwerte[5] -= 2;
imagettftext ($image, 9, 0, 3,$textwerte[5],$farbe_b, $font, $text);
#display image
imagepng($image, "$filenameforpng");
}

$text = "<img src='$filename' border='0' alt='email' />";
return $text;
}
}
нужно чтобы они одинаково отображались, помогите код подправить.

ссылка на сайт goodmotors.perm.ru
*

Olik

  • Новичок
  • 2
  • 0 / 0
Все еще жду помощи.
*

rem

  • Захожу иногда
  • 51
  • 3 / 0
на 2.6.4 сделал так, и все в строчку стало     $return .= sprintf(JText::_('ADSMANAGER_DEVICE'),"<nobr>".number_format($value, 0, ",", " "."</nobr>"));
не сработало... 
Вот так работает в 2.6.4 (правим файл \com_adsmanager\helpers\field.php):
$return = sprintf(JText::_('ADSMANAGER_DEVICE'), "<nobr>".number_format(floatval($value), 0, '.', ' ')."</nobr>");
*

erick29

  • Захожу иногда
  • 74
  • 0 / 0
Всё, вроде ничего, но в полях зарплата "от:" и "до:" в таблице и подробном объявлении всё съезжает вниз. Менял fields.php в helpers. Как решить проблему?
Фото прилагается.

case 'price':
               if ($value != "")
$nums = $value;
$nombre_format_francais = number_format($nums, 0, '.', ' ');
echo $nombre_format_francais.' '.руб;
echo "<br />";
break;

[вложение удалено Администратором]
*

erick29

  • Захожу иногда
  • 74
  • 0 / 0
Никто не знает как решить проблему? :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager 3.0.3 и вставка видео в объявление

Автор Tori777

Ответов: 1
Просмотров: 12371
Последний ответ 26.10.2018, 18:07:45
от avtomastersu
Не могу изображение поставить левее в списке объявлений....выходит между заголовком и описанием объя

Автор saps70

Ответов: 2
Просмотров: 1197
Последний ответ 21.04.2016, 15:57:42
от юрий 009
Банер между объявлениями в AdsManager? Как сделать?

Автор gard88

Ответов: 11
Просмотров: 1846
Последний ответ 16.12.2015, 00:17:43
от gard88
Как выделить фоном описание цена контакты?

Автор СерьёгА

Ответов: 2
Просмотров: 1197
Последний ответ 04.10.2015, 13:55:50
от СерьёгА
Убрать вертикальные тире между пунктами меню AdsManager

Автор Frics

Ответов: 3
Просмотров: 1173
Последний ответ 20.09.2015, 09:02:59
от Frics