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

timonnn

  • Захожу иногда
  • 366
  • 15 / 0
Как не выводить поле?
« : 09.02.2010, 22:09:06 »
Сделал шаблон.
Мне надо слева выводить изображение (Поле "Фото"), а справа Описание, Производитель,Цена. Так вот я вывожу поле "фото" кодом:
Код
<?php echo $this->fields[47]->result;?>
.

А как справа спрятать это поле ("Фото")? Получается оно выводится слева и справа тоже, т.к. все поля справа выводятся стандартным кодом:
Код
<?php $fparam = new JParameter($field->params);
if(!$fparam->get('tabled'))
{
if(!$tab_close) echo "</table>";
$tab_close = true;
}
else
{
if($tab_close) echo '<table class="contentpaneopen" style="clear:both" width="100%">';
$tab_close = false;
}echo $this->getFieldValue($field, $item->user_id);
?>
Если в настройках отключить показ поля, то слева оно тоже перестает выводиться...
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
Re: Как не выводить поле?
« Ответ #1 : 10.02.2010, 16:11:09 »
дружище, а можно чуток понятнее? :)
еще лучше, если на сайте покажешь...
*

timonnn

  • Захожу иногда
  • 366
  • 15 / 0
Re: Как не выводить поле?
« Ответ #2 : 10.02.2010, 22:35:38 »
Сайт, не скажу, т.к. на локалке еще...
Короче вот скрин.

Вопрос: "Как спрятать поле с изображением справа. Слева оно выводится кодом
Код
<?php echo $this->fields[47]->result;?>
Справа все поля выводятся стандартным кодом, то бишь все опубликованные поля друг за другом...

Просто с PHP я на Вы и не знаю как сделать...
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
Re: Как не выводить поле?
« Ответ #3 : 11.02.2010, 13:16:41 »
тебя оч трудно понять :)
ладно, может я все же понял, что же ты хочешь получить?
итак, согласно своего скрина, тебе нужно, чтобы слева выводилась фотка, а справа описание,параметры и тд?

default_article_default.php
строка:62 начало куска кода.
см. здесь ниже место:   //    ВОТ ЗДЕСЬ ПОСТАВЬ ПРОВЕРКУ

<table class="contentpaneopen js_content" width="100%">
   <?php $tab_close = false;
      foreach($this->fields AS $field):?>             
      <?php
      $fparam = new JParameter($field->params);
      if(!$fparam->get('tabled'))
      {
         if(!$tab_close) echo "</table>";
         $tab_close = true;
      }
      else
      {
         if($tab_close) echo '<table class="contentpaneopen js_content" width="100%">';
         $tab_close = false;
      }

//    ВОТ ЗДЕСЬ ПОСТАВЬ ПРОВЕРКУ

                       if (!$field->id == 47)(или какой ID твоего Picture поля) {
                            echo $this->getFieldValue($field, $item->user_id);
                       }
//

      ?>
<?php endforeach;?>
<?php if(!$tab_close) echo "</table>"; ?>


т.е. смысл тебе понятен? ты проверяешь ID своего поля с картинкой и если ты достигаешь этого поля, то ты не отрисовываешь его.

если опять все же непонятно, то стучи в ICQ:
290427829 ALex
« Последнее редактирование: 11.02.2010, 13:21:52 от lexx006 »
*

timonnn

  • Захожу иногда
  • 366
  • 15 / 0
Re: Как не выводить поле?
« Ответ #4 : 11.02.2010, 14:31:54 »
Да-да, именно это и имеется ввиду. Вот только код этот не работает:
Код
if(!$field->id == 47)
echo $this->getFieldValue($field, $item->user_id);
с ним все поля не выводятся.
« Последнее редактирование: 11.02.2010, 14:35:29 от timonnn »
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
Re: Как не выводить поле?
« Ответ #5 : 11.02.2010, 14:58:20 »
вот так напиши:

if($field->id != 47)
echo $this->getFieldValue($field, $item->user_id);

я чуток протупил, сорри :)))

все работает, я ток проверил у себя.

и сначала определи id своего поля: echo $field->id;
*

timonnn

  • Захожу иногда
  • 366
  • 15 / 0
Re: Как не выводить поле?
« Ответ #6 : 11.02.2010, 16:08:35 »
Огромное спасибо. Все заработало!
Вот только почему id теперь получается другой?? В админке этому полю присвоен id 47, а определяет как id 92.
Это мне просто интересно))) Если не сложно ответь...
« Последнее редактирование: 11.02.2010, 16:37:07 от timonnn »
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
Re: Как не выводить поле?
« Ответ #7 : 11.02.2010, 17:12:42 »
так...плюсик поставил? поставил, молодец :))

таблица БД:
jos_js_res_record_values

в ней поля:
 id         field_id   field_value   record_id    params

92          47        sklad3.jpg       39                                 

это id и используется, так как он уникальный идентификатор этой записи.
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
Re: Как не выводить поле?
« Ответ #8 : 13.02.2010, 17:01:43 »
Да id уникальный для каждой записи и это будет работаь только для одной записи. Для проверки ID поля а не ID значения поля надо использовать fid

if($field->fid != 47)
echo $this->getFieldValue($field, $item->user_id);

или

if($field->fid == 47) continue;

сразу за фоичем.
Лучший ССК всех времен Cobalt
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
Re: Как не выводить поле?
« Ответ #9 : 19.02.2010, 10:10:49 »
Да id уникальный для каждой записи и это будет работаь только для одной записи. Для проверки ID поля а не ID значения поля надо использовать fid

if($field->fid != 47)
echo $this->getFieldValue($field, $item->user_id);

или

if($field->fid == 47) continue;

сразу за фоичем.
согласен )))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Можно ли реализовать на этом плагине...

Автор starfelliks

Ответов: 1
Просмотров: 1380
Последний ответ 07.10.2010, 09:40:01
от Peter09
Белая страница вместо всего

Автор blqs

Ответов: 3
Просмотров: 2122
Последний ответ 04.08.2010, 15:52:07
от shitz
Не могу создать магазин в Commerce

Автор timonnn

Ответов: 2
Просмотров: 1388
Последний ответ 23.03.2010, 10:34:03
от Eugeneer
После обновления изменился шаблон списка

Автор monkeymonk

Ответов: 1
Просмотров: 1476
Последний ответ 15.12.2009, 18:07:28
от sem7urg