Табличный список, проблемы

InstantCMS 2.X
#1 13 декабря 2017 в 18:10
Что не так с табличным списком. Почему то все списки как списки а вот с табличным беда. Название столбца " фото " не выводится, название столбца Заголовок не выводится! Оч странно, пробовал ручками подкрутить, но с моими знаниями не получается. Нуи к сожалению отсутствует сортировка в столбцах.
И так если кто мне сможет помощь в данном вопросе, отблагодарю финансово.
Нужно чтобы отображались названия столбцов и их можно было бы сортировать.
#2 13 декабря 2017 в 18:25
Строки 23-25 прячут название столбца к фото. А за вывод названия столбца "Заголовок" отвечает опция "Положение заголовков в списке".
#3 13 декабря 2017 в 18:47
куда бы не двигал поле фото, Фото выводится на первой позиции. И к тому же заголовка поля нет.
#4 13 декабря 2017 в 18:56

куда бы не двигал поле фото, Фото выводится на первой позиции. И к тому же заголовка поля нет.

Capitan
Найдите и удалите в templates\default\content\default_list_table.tpl.php:
  1.  
  2. <?php if (isset($fields['photo']) && $fields['photo']['is_in_list']){ ?>
  3. <th>&nbsp;</th>
  4. <?php } ?>
  5.  
и:
  1.  
  2. <?php if (isset($fields['photo']) && $fields['photo']['is_in_list']){ ?>
  3. <td class="photo">
  4. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">
  5. <?php if (!empty($item['photo'])){ ?>
  6. <?php echo html_image($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?>
  7. <?php unset($item['photo']); ?>
  8. <?php } ?>
  9. </a>
  10. </td>
  11. <?php } ?>
  12.  
Выведите заголовок поля в его настройках.
Двигайте, называйте…
#5 13 декабря 2017 в 19:19
Олег Васильевич я, Ура! Спасибо! Может вы тогда и с сортировкой столбцов поможете? Ну и я вас отблагодарю :)
#6 13 декабря 2017 в 23:29

Олег Васильевич я, Ура! Спасибо! Может вы тогда и с сортировкой столбцов поможете? Ну и я вас отблагодарю :)

Capitan
Не могу (багатство портит).
#7 13 декабря 2017 в 23:31
Олег Васильевич я, Но если не Вы тогда кто? v
#8 14 декабря 2017 в 00:16
Вот код табличного списка. Не выводит дату создания контента. Стоит все показывать, но не выводит.


<?php
if( $ctype['options']['list_show_filter'] ) {
$this->renderAsset('ui/filter-panel', array(
'css_prefix' => $ctype['name'],
'page_url' => $page_url,
'fields' => $fields,
'props_fields' => $props_fields,
'props' => $props,
'filters' => $filters,
'ext_hidden_params' => $ext_hidden_params,
'is_expanded' => $ctype['options']['list_expand_filter']
));
}
?>
<?php if ($items){ ?>
<div class="content_list table <?php echo $ctype['name']; ?>_list">
<table>
<thead>
<tr>
<?php if ($ctype['is_rating']){ ?>
<th><?php echo LANG_RATING; ?></th>
<?php } ?>

<?php foreach($fields as $name => $field){ ?>
<?php if ($field['is_system'] || !$field['is_in_list']) { unset($fields[$name]); continue; } ?>
<?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { unset($fields[$name]); continue; } ?>
<?php
if (!isset($field['options']['label_in_list'])) {
$label_pos = 'none';
} else {
$label_pos = $field['options']['label_in_list'];
}
?>
<th>
<?php echo $label_pos!='none'? $field['title']: ' '; ?>
</th>
<?php } ?>
</tr>
</thead>
<tbody>
<?php foreach($items as $item){ ?>
<?php $item['ctype'] = $ctype; ?>
<tr <?php if (!empty($item['is_vip'])){ ?> class="is_vip"<?php } ?>>
<?php if (!empty($item['rating_widget'])){ ?>
<td class="rating">
<?php echo $item['rating_widget']; ?>
</td>
<?php } ?>
<?php foreach($fields as $field){ ?>
<?php if (!isset($item[$field['name']]) || (!$item[$field['name']] && $item[$field['name']] !== '0')) {
echo '<td> </td>'; continue;
} ?>
<td class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>">
<?php if ($field['name'] == 'title' && $ctype['options']['item_on']){ ?>
<h2>
<?php if ($item['parent_id']){ ?>
<a class="parent_title" href="<?php echo rel_to_href($item['parent_url']); ?>"><?php echo htmlspecialchars($item['parent_title']); ?></a>

<?php } ?>
<a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php echo htmlspecialchars($item[$field['name']]); ?></a>
</h2>
<?php } else { ?>
<?php echo $field['handler']->setItem($item)->parseTeaser($item[$field['name']]); ?>
<?php } ?>
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<?php if ($perpage < $total) { ?>
<?php echo html_pagebar($page, $perpage, $total, $page_url, array_merge($filters, $ext_hidden_params)); ?>
<?php } ?>
<?php } else { echo LANG_LIST_EMPTY; } ?>

#9 14 декабря 2017 в 00:37

Но если не Вы тогда кто?

Capitan
Разбогатеет тот, кто подзапрягёт немного свой поисковик. Возможно, — тот, кто заинтересуется (к примеру) файлом datagrid.js дефолтного шаблона и сумеет извлечь из увиденного внутри пользу.
Но точно не я. cry
#10 14 декабря 2017 в 01:27
Олег Васильевич я, Ничего про дату не нашел. Наверное потому что "Смотрю в книгу (код) вижу фигу" cryВот честно, чем эти мучения проще заплатить профессионалам
#11 14 декабря 2017 в 23:27
Вопрос к тем кто пользуется выводом списка в виде таблицы. Как вас выводится дата создания? Колонка дата не выводится, как решить вопрос?
#12 15 декабря 2017 в 07:03
Capitan, так там всё просто. В этой строке меняете это
  1. <?php if ($field['is_system'] || !$field['is_in_list']) { unset($fields[$name]); continue; } ?>
на это
  1. <?php if (($field['is_system'] && $field['name'] !== 'date_pub') || !$field['is_in_list']) { unset($fields[$name]); continue; } ?>
  2. <?php if ($field['name'] == 'date_pub') {$field['options']['label_in_list'] = 'top'; } ?>
#13 15 декабря 2017 в 14:38
Loadырь, Спасибо. Все получилось. Если кому пригодится вот весь правленный табличный список
<?php
if( $ctype['options']['list_show_filter'] ) {
$this->renderAsset('ui/filter-panel', array(
'css_prefix' => $ctype['name'],
'page_url' => $page_url,
'fields' => $fields,
'props_fields' => $props_fields,
'props' => $props,
'filters' => $filters,
'ext_hidden_params' => $ext_hidden_params,
'is_expanded' => $ctype['options']['list_expand_filter']
));
}
?>

<?php if ($items){ ?>
<div class="content_list table <?php echo $ctype['name']; ?>_list">
<table>
<thead>
<tr>
<?php if ($ctype['is_rating']){ ?>
<th><?php echo LANG_RATING; ?></th>
<?php } ?>
<?php foreach($fields as $name => $field){ ?>
<?php if (($field['is_system'] && $field['name'] !== 'date_pub') || !$field['is_in_list']) { unset($fields[$name]); continue; } ?>
<?php if ($field['name'] == 'date_pub') {$field['options']['label_in_list'] = 'top'; } ?>
<?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { unset($fields[$name]); continue; } ?>
<?php
if (!isset($field['options']['label_in_list'])) {
$label_pos = 'none';
} else {
$label_pos = $field['options']['label_in_list'];
}
?>
<th>
<?php echo $label_pos!='none'? $field['title']: ' '; ?>
</th>
<?php } ?>
</tr>
</thead>
<tbody>
<?php foreach($items as $item){ ?>
<?php $item['ctype'] = $ctype; ?>
<tr <?php if (!empty($item['is_vip'])){ ?> class="is_vip"<?php } ?>>


<?php if (!empty($item['rating_widget'])){ ?>
<td class="rating">
<?php echo $item['rating_widget']; ?>
</td>
<?php } ?>
<?php foreach($fields as $field){ ?>
<?php if (!isset($item[$field['name']]) || (!$item[$field['name']] && $item[$field['name']] !== '0')) {
echo '<td> </td>'; continue;
} ?>
<td class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>">
<?php if ($field['name'] == 'title' && $ctype['options']['item_on']){ ?>
<h2>
<?php if ($item['parent_id']){ ?>
<a class="parent_title" href="<?php echo rel_to_href($item['parent_url']); ?>"><?php echo htmlspecialchars($item['parent_title']); ?></a>

<?php } ?>
<a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php echo htmlspecialchars($item[$field['name']]); ?></a>
</h2>
<?php } else { ?>
<?php echo $field['handler']->setItem($item)->parseTeaser($item[$field['name']]); ?>
<?php } ?>
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
</div>

<?php if ($perpage < $total) { ?>
<?php echo html_pagebar($page, $perpage, $total, $page_url, array_merge($filters, $ext_hidden_params)); ?>
<?php } ?>

<?php } else { echo LANG_LIST_EMPTY; } ?>
Вопрос к вам. А вы не взялись бы за разработку сортировки столбцов?
#14 15 декабря 2017 в 16:36

А вы не взялись бы за разработку сортировки столбцов?

Capitan
Я пока занят. Так сходу вопрос не решить, так как надо помимо шаблона писать отдельный экшн, для получения данных в нужном порядке и фильтрации. Но это возможно. Спросите, может кто ещё откликнется.
#15 15 декабря 2017 в 18:32
Loadырь, Да тема уже неделю висит и пока тишина. А надо было как говорят вчера.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.