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

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Я сделал поля для авто объявлений. Такие как Марка, модель, год выпуска, пробег и т.п. Название материала не нужно. Как его убрать?
*

kairat

  • Осваиваюсь на форуме
  • 10
  • 0 / 1
  • Не важно, когда ты состаришься, важно - как.
админ-статьи-настройки-показывать заголовок статьи-да/нет
*

Peter09

  • Захожу иногда
  • 103
  • 8 / 0
нужно идти настройки типа -> вкладку Elements -> параметр Show Title.
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Это отображение отключается. А при создании материала все равно есть. Вот, написал письмо разработчикам. Вот ответ. Мне не очень понятно, я не особо в кодах разбираюсь, а кто знает - поймет. Сдесь описаны действия, как сделать создание заголовка автоматически, исходя из заполненой инфы.
шаблон кастом, то и над Названием статьи тоже можно поработать. Т.е. вместо стандартного
<?php if($this->params->get('item_title')) echo $item->title ?>
У нас название составное из нескольких полей.

<?php
$t = array();
if($this->ifields['Тип объявления']) $t[] = $this->ifields['Тип объявления'];
if($this->ifields['Марка']) $t[] = $this->ifields['Марка'];
if($this->ifields['Цена USD']) $t[] = '<b>'.number_format(ereg_replace("[^0-9]", '', $this->ifields['Цена USD']), '0', ' ', '. ').'$</b>';
?>
<div class="contentheading">
<?php if($item->edit)echo $item->edit?> <?php echo implode(", ", $t); ?>
</div>

А "КОД: АВТО-1265532612" это и есть название статьи. В шаблоне формы это делается с помощью:
<input type="hidden"name="title" value="АВТО-<?php echo time(); ?>" />
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
1. делаем копию шаблона формы
2. редактируем его и делаем поле заголовка статьи hidden и по умолчанию в значение вставляете туда что то типа <?php echo 'AVTO:'.time(); ?>
3. делаете копию шаблона спика и сатьи.
4. Там вывлдите поля которые составляют заголовок в формате заголовка.
Лучший ССК всех времен Cobalt
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
т.е. редактировать файл по ФТП?
А шаблон списка и статей это - это 4 кладка Article?
« Последнее редактирование: 28.03.2010, 12:07:14 от generator911 »
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
Лучший ССК всех времен Cobalt
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Что тут поменять, я так и не понял?....и где еще поменять. плз напиши подробно, какой файл открывать и какой кусок текста на что заменить...
Код
<?php defined('_JEXEC') or die('Restricted access'); $this->newform = TRUE;?>
<div class="componentheading"><?php echo ($this->isNew ? JText::_('Submit New Item') : JText::_('Edit Item'))?>: <?php echo $this->type ?></div>
<TABLE class="admintable" width="100%">
  <!--<tr>
    <td colspan="2" class="contentheading"><?php echo JText::_('Item Core Fields')?></td>
  </tr>-->
  <TR>
    <TD class="key"><?php echo $this->params->get('title_name'); ?>:</TD>
    <td><input type="text" name="title" style="width:100%" value="<?php echo JRequest::getVar('title', htmlspecialchars($this->item->title))?>" /></td>
  </TR>  
  
  <?php if($this->shows['category']):?>
    <TR valign="top">
          <TD class="key"><?php echo $this->params->get('category_name'); ?>:</TD>
          <td><?php echo $this->lists['category'] ?></td>
      </TR>
    <?php else:?>
      <tr>
        <td colspan="2">
            <input type="hidden" name="categories[]" value="<?php echo JRequest::getInt('category_id', $this->section_id);?>" />
        </td>
      </tr>
    <?php endif; ?>
  
  <?php if($this->shows['ucategory']):?>
  <TR valign="top">
    <TD class="key"><?php echo $this->params->get('pcat_mean'); ?>:</TD>
    <td><?php echo $this->lists['usercategory'] ?></td>
  </TR>
  <?php endif; ?>
  
  <?php if($this->params->get('create_time')):?>
   <?php JHTML::_('behavior.calendar');?>
    <TR>
      <TD class="key"><?php echo $this->params->get('ctime_name', JText::_('Create Date')); ?>:</TD>
      <td><?php echo $this->lists['ctime'] ?></td>
    </TR>
  <?php endif;?>

  <?php if($this->params->get('expire_time')):?>
   <?php JHTML::_('behavior.calendar');?>
    <TR>
      <TD class="key"><?php echo $this->params->get('extime_name',JText::_('Expire Date')); ?>:</TD>
      <td><?php echo $this->lists['extime'] ?></td>
    </TR>
  <?php endif;?>
  <?php if($this->params->get('item_tag')):?>
  <TR>
    <TD class="key"><?php echo JText::_('Tags'); ?>:</TD>
    <td><textarea style="width:100%" rows="1" name="tags"><?php echo $this->lists['tags'] ?></textarea></td>
  </TR>
  <?php endif;?>
   <?php
 $hidden_fields = $this->params->get ( 'hidden_fields' );
 $hidden_fields = str_replace( array( " ", "\r" ), "", $hidden_fields );
 $hidden_fields = explode( "\n", $hidden_fields );
 //var_dump( $hidden_fields );
?>
  <?php
  foreach ($this->fields AS $key => $field)
  {
    $is_hidden = in_array( $field->id, $hidden_fields );  
   $params = new JParameter($field->params);
   if($params->get('frequired')) { $r = ' <span style="color:red"><big>*</big></span>'; } else { $r = '';}
   ?>
    
    <?php if( in_array( $field->type, array('taber', 'separator' ) ) ) : ?>
      <?php //if(@$this->fields[$key + 1]):?>
       </table>
      <?php //endif;?>
      <span <?php echo $is_hidden ? "style='display:none;'" : ""; ?>>
     <?php ResViewRecord::renderField($field); ?>
      </span>
       <?php //if(@$this->fields[$key + 1]):?>
       <TABLE class="admintable" width="100%">
     <?php //endif;?>
      
      <?php continue; ?>
    <?php endif;?>
    
    <tr <?php echo $is_hidden ? "style='display:none;'" : ""; ?> valign="top">
      <?php if($field->type != 'html'):?><td class="key" width="25%"><?php echo $field->title ?>:<?php echo $r ?></td><?php endif;?>

      <td<?php if($field->type == 'html') echo ' colspan="2" '?>><?php if($field->type == 'html') echo $field->title.$r.'<br>'?><?php ResViewRecord::renderField($field)?>
      <?php if($params->get('description')) echo sprintf('<br><span class="small">%s</span>', $params->get('description'));?>
      </td>
    </tr>
    <?php
  }
  ?>
</table>
<?php if(($this->user->get('aid') > 1) && $this->user->get('gid') >= 23):?>
   <span><?php echo JText::_('Administrator Fields')?></span>
<TABLE class="admintable" width="100%" style="border: 1px solid gray;">
  <TR>
     <TD class="key"><?php echo JText::_('Publish'); ?>:</TD>
     <td><?php echo $this->lists['publish'] ?></td>
   </TR>  
   <TR>
     <TD class="key"><?php echo JText::_('Featured'); ?>:</TD>
     <td><?php echo $this->lists['featured'] ?></td>
   </TR>  
   <TR>
     <TD class="key"><?php echo JText::_('Access'); ?>:</TD>
     <td><?php echo $this->lists['access'] ?></td>
   </TR>  
   <TR>
     <TD class="key"><?php echo JText::_('Author'); ?>:</TD>
     <td><?php echo $this->lists['author'] ?></td>
   </TR>  
   <TR>
     <TD class="key"><?php echo JText::_('Language'); ?>:</TD>
     <td><?php echo $this->lists['lang'] ?></td>
   </TR>
   <?php if(!$this->params->get('create_time')): ?>
   <TR>
     <TD class="key"><?php echo $this->params->get('ctime_name', JText::_('Create Date')); ?>:</TD>
     <td><?php echo $this->lists['ctime'] ?></td>
   </TR>
   <?php endif; ?>
   <?php if(!$this->params->get('expire_time')): ?>
   <TR>
     <TD class="key"><?php echo $this->params->get('extime_name', JText::_('Expire Date')); ?>:</TD>
     <td><?php echo $this->lists['extime'] ?></td>
   </TR>
   <?php endif; ?>
</TABLE>  
<?php else:?>
<?php if(!$this->params->get('expire_time')): ?>
<input type="hidden" name="extime" value="<?php echo $this->item->extime?>" />
<?php endif; ?>
<?php if(!$this->params->get('create_time')): ?>
<input type="hidden" name="ctime" value="<?php echo $this->item->ctime?>" />
<?php endif; ?>
<input type="hidden" name="featured" value="<?php echo $this->item->featured?>" />
<input type="hidden" name="user_id" value="<?php echo $this->item->user_id?>" />
<input type="hidden" name="published" value="<?php echo $this->item->published?>" />
<input type="hidden" name="access" value="<?php echo $this->item->access?>" />
<input type="hidden" name="langs" value="<?php echo $this->item->langs?>" />
<?php endif;?>
« Последнее редактирование: 28.03.2010, 12:35:26 от generator911 »
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Люди грамотные, вы где? :D
*

Peter09

  • Захожу иногда
  • 103
  • 8 / 0
вот это
 <td><input type="text" name="title" style="width:100%" value="<?php echo JRequest::getVar('title', htmlspecialchars($this->item->title))?>" /></td>

нужно заменить на это
 <td><input type="hidden" name="title" style="width:100%" value="<?php echo 'AVTO:'.time(); ?>" /></td>
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Чета ниче не поменялось....название так и вводится при создании материала..
*

shitz

  • Захожу иногда
  • 164
  • 7 / 0
мы не можем здесь заниматься курсами по PHP программированию. Решение выложено. Нам отсюда не видно почему правильный код не работает. Покажите хоть страницу с этой формой. Там уж поглядим.
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
согласен, проще найти кто знает...
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Сделал, пр создании автоматом создается название типа "AVTO:1273228487"...но при редактировании это поле видно и его можно изменить, как его скрыть при редактировании?
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
Если приведенный пример не работает проверте вы изменяете тот же шаблон формы который назначили на тип или другой.
Лучший ССК всех времен Cobalt
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Работает все...только при редактировании видно название, автоматически созданое, но его можно поменять
*

Sergey Romanov

  • Moderator
  • 603
  • 19 / 0
Если все сделано правильно то заголовка статьи не должно быть видно ни на создании ни на редактировании. При желании даже в списке или самой статье.
Лучший ССК всех времен Cobalt
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Если открываешь редактировать из списка записей, то заголовок не вылазит,
а если открываешь статью, и замет редактироваеть — то название видно
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3
Подскажите, как сделать название материала автоматически из заполненых полей, и что бы поле соответственно не выводилось. т.е. в интернет магазине выбираешь бренд, модель парфюма и емкость, и это все ставилось названием, например, Chanel "#5", 50мл.
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
Подскажите, как сделать название материала автоматически из заполненых полей, и что бы поле соответственно не выводилось. т.е. в интернет магазине выбираешь бренд, модель парфюма и емкость, и это все ставилось названием, например, Chanel "#5", 50мл.


посмотри номера полей в Типе.
$this->fields[1] - Channel #5
$this->fields[2] - 50мл

$new_title = $this->fields[1]->Result."-".$this->fields[2]->Result

проверяешь $this->item->title. если пустое, то заполняешь его полученным заголовком.
 <td><input type="text" name="title" style="width:100%" value="<?php echo $new_title; ?>" /></td>
*

generator911

  • Захожу иногда
  • 166
  • 0 / 3

посмотри номера полей в Типе.
$this->fields[1] - Channel #5
$this->fields[2] - 50мл

$new_title = $this->fields[1]->Result."-".$this->fields[2]->Result

проверяешь $this->item->title. если пустое, то заполняешь его полученным заголовком.
 <td><input type="text" name="title" style="width:100%" value="<?php echo $new_title; ?>" /></td>
Что то не совсем понял что надо заменить, пробовал разобраться и не смог.
В общем формат полей с id такой: Поле1 "поле2", поле5 поле7
Надо что то поставить вместо     <td><input type="text" class="inputbox" name="title" style="width:100%" value="<?php echo htmlspecialchars(JRequest::getVar('title', $this->item->title), ENT_QUOTES, 'UTF-8'); ?>" /></td>
  И тогда автоматом вместо названия материала будет вставать заполненные поля?
« Последнее редактирование: 19.08.2010, 15:24:27 от generator911 »
*

lexx006

  • Захожу иногда
  • 270
  • 8 / 3
у каждого поля есть свой внутреннй идентификатор - Id поля. его можно увидеть, когда редактируешь поля ТИПА.
самая правая колонка в таблице полей ТИПА. посмотри...
вот этот Id тебе и нужно будет пописать в квадратные скобки.

вставляешь этот код себе, перед выводом своего тайтла:
$this->fields[ID поля 1] - Channel #5
$this->fields[ID поля 2] - 50мл

$new_title = $this->fields[ID поля 1]->Result."-".$this->fields[ID поля 2]->Result

<td><input type="text" class="inputbox" name="title" style="width:100%" value="<?php echo $new_title ); ?>" /></td>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести в шаблоне поля и их название?

Автор koyot777

Ответов: 1
Просмотров: 3938
Последний ответ 12.12.2012, 15:13:08
от koyot777
Как сделать вывод материала в виде блога а не таблицой?

Автор koyot777

Ответов: 3
Просмотров: 4727
Последний ответ 12.12.2012, 12:44:18
от koyot777
При добавлении с админки материала выводится название поля а значение не выводится

Автор sorrrrry

Ответов: 3
Просмотров: 1910
Последний ответ 15.04.2011, 15:50:39
от Peter09
Как убрать "Временно скрыть запись"

Автор highlander

Ответов: 2
Просмотров: 1905
Последний ответ 23.12.2010, 11:46:35
от highlander
Ошибка в Коммунити при просмотре материала незарегистрированным пользователем

Автор timonnn

Ответов: 3
Просмотров: 1939
Последний ответ 07.10.2010, 09:20:08
от Peter09