1

Тема: Дополнительные поля в page_full

Почему этот код не работает в page_full.tpl? Мне нужно вставить дополнительные поля в page_full.tpl. Это вообще возможно?
{foreach $recent_news as $item}
{$item = $CI->load->module('cfcm')->connect_fields($item, 'page')}
    <table>
    <tr>
    <td><img src="{media_url($item.field_image_velo)}" width="199px"></td>
    <td>{$item.field_rama}</td>
    </tr>
    </table>
{/foreach}

Thumbs up Thumbs down

2

Re: Дополнительные поля в page_full

Потому что в page_full.tpl не нужно соединять поля через модуль cfcm.
Вы пытаетесь вывести список статей в шаблоне отдельной статьи. Это не правильно

3

Re: Дополнительные поля в page_full

А как мне выводить доп. поля в page full?

Thumbs up Thumbs down

4

Re: Дополнительные поля в page_full

Проблема решена.
{$page = $CI->load->module('cfcm')->connect_fields($page, 'page')}
    <table>
    <tr>
    <td><img src="{media_url($page.field_image_velo)}" width="199px"></td>
    <td>{$page.field_speed}</td>
    </tr>
    </table>

Thumbs up Thumbs down

5

Re: Дополнительные поля в page_full

А как в таком случае получить Имя(в меню дополнительных полей Метка) дополнительного поля?

Thumbs up Thumbs down

6

Re: Дополнительные поля в page_full

Посмотрите какие переменные присутствуют в массиве page:

{var_dump($page)}

Когда то разрабатывал модули для ImageCMS Corporate

7

Re: Дополнительные поля в page_full

Видимо никак не вывести имя дополнительного поля?

Thumbs up Thumbs down

8

Re: Дополнительные поля в page_full

Если полей не много, можно воспользоваться методом get_field модуля cfcm

Получаем массив поля field_speed
{$f = $CI->cfcm->get_field(field_speed)}

Выдергиваем название
{$f.label}

Костыль конечно, но топикстартеру может сгодится.

Когда то разрабатывал модули для ImageCMS Corporate

9

Re: Дополнительные поля в page_full

Спасибо. А есть возможность циклом вывести все доп.поля страницы?

Thumbs up Thumbs down

10

Re: Дополнительные поля в page_full

Гляньте как это реализовано в Админпанеле, если не ошибаюсь:

/applications/modules/admin/pages.php

Когда то разрабатывал модули для ImageCMS Corporate

11 Отредактировано help-in (11-11-2015 12:07:17)

Re: Дополнительные поля в page_full

Вот так это реализовано в админпанеле? А как его переделать в page_full.tpl

    protected function _copy_content_fields($original_id, $new_id) {
        $fields = $this->db->get_where('content_fields_data', array('item_id' => $original_id, 'item_type' => 'page'))->result_array();

        foreach ($fields as $field) {
            unset($field['id']);
            $field['item_id'] = $new_id;
            $this->db->insert('content_fields_data', $field);
        }
    }   

Thumbs up Thumbs down

12

Re: Дополнительные поля в page_full

Это, не оно.

Думаю нужно вносить изменения в модуль CFCM, конкретнее в функцию connect_fields, добавить в существующую выборку join таблицу content_fields (где и находяться нужные вам данные).

Я бы забил и не правил, так как после очередного обновления все слетит.
Подумайте, а оно вам надо...

Когда то разрабатывал модули для ImageCMS Corporate

13

Re: Дополнительные поля в page_full

Все ясно. Спасибо.

Thumbs up Thumbs down

14

Re: Дополнительные поля в page_full

Кто мешает написать helper который по I'd страницы будет дергать доп поля с теми значениями который вам нужны?

15

Re: Дополнительные поля в page_full

http://forum.imagecms.net/viewtopic.php?id=4654 нашел решение вот здесь. Как получить id категории?

Thumbs up Thumbs down

16

Re: Дополнительные поля в page_full

{$category = get_category($category.id)} ID категории тоже получить удалось. Но вывести все доп поля данной категории так и не реализовал(

Thumbs up Thumbs down

17 Отредактировано Sempai (05-12-2015 15:14:15)

Re: Дополнительные поля в page_full

Не понял вашу мысль. Какое отношение id категории имеет к дополнительным полям на странице!?
Если вам на странице нужно получить id категории этой страницы, то это делается так {$page.category}
Если нужно вывести доп поля, то эта строка, выводит все доп поля, присвоенные данной страницы
{$page = $CI->load->module('cfcm')->connect_fields($page, 'page')}

Когда то разрабатывал модули для ImageCMS Corporate

18

Re: Дополнительные поля в page_full

Я так понимаю $page.field_(название поля) выводит только одно поле. Мне нужно вывести все поля этой страницы не прописывая каждое поле в коде.

Thumbs up Thumbs down