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

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
На версии 2.5 проблему решили, к 2.6 не подходит... Помогите решить эту проблему... Не вижу смысла в строку выводить пустые названия полей поочереди...
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
пробуйте!
Код
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 .= JText::sprintf('ADSMANAGER_DEVICE',$value);
$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;
}
« Последнее редактирование: 11.06.2011, 17:16:52 от Alex89 »
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Спасибо всё получилось, но от компонента отказался...
*

kroshkafunt

  • Новичок
  • 8
  • 0 / 0
к сожалению для 2.6.4 не подходит , выдает белый экран с ошибкой.
Alex89 подскажите пожалуйста решение.
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Здравствуйте! Есть одна проблема, в колонке отображает название поля, хотя я его выключаю (в развернутом виде все норм работает). Можно как нибуть это устранить?
*

maxor

  • Осваиваюсь на форуме
  • 27
  • 5 / 0
Up!
Очень интересует ответ на последний вопрос. Есть знающие, кто может помочь?

PS. AdsManager 2.6.5
« Последнее редактирование: 30.06.2012, 23:31:06 от maxor »
*

maxor

  • Осваиваюсь на форуме
  • 27
  • 5 / 0
Нашёл решение.

Нужно в коде от Alex89, в строке:
if (($field->type != 'multiselect')&&($field->type != 'checkbox')&&(($field->display_title & $this->mode) == $this->mode))

Поменять 'mode' на 'modetitle':
if (($field->type != 'multiselect')&&($field->type != 'checkbox')&&(($field->display_title & $this->modetitle) == $this->modetitle))

Всем удачи.
« Последнее редактирование: 02.07.2012, 01:19:12 от maxor »
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Нашёл решение.

Нужно в коде от Alex89, в строке:
if (($field->type != 'multiselect')&&($field->type != 'checkbox')&&(($field->display_title & $this->mode) == $this->mode))

Поменять 'mode' на 'modetitle':
if (($field->type != 'multiselect')&&($field->type != 'checkbox')&&(($field->display_title & $this->modetitle) == $this->modetitle))

Всем удачи.
Спасибо! Все работатет
*

niceteam

  • Захожу иногда
  • 169
  • 2 / 2
В каком файле заменить надо?
Попробовал в файле field.php сделать замену, в карточке объявления слетели стили почемуто. Объявления стали показываться на белом листе.
*

real-man

  • Захожу иногда
  • 84
  • 4 / 0
После замена кода пропал фильтр отображения цены "от" и "до" в расширенном поиске, кракозяблы вместо поля отображаются  :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор FlexNL

Ответов: 1
Просмотров: 1393
Последний ответ 21.10.2021, 17:20:09
от khan-alex
Проблема с RSS

Автор uf1976

Ответов: 17
Просмотров: 5754
Последний ответ 14.07.2020, 12:31:40
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

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

Автор kaman62

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

Автор Den JW

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