1 Отредактировано Dinar (15-04-2010 16:52:38)

Тема: Работа дополнительных полей

Создал доп поле textarea. Вписал в "значение по умолчанию" html код.
Создаю страницу, открываю доп поля, там значения по умолчанию нету.
Снова ввожу туда свой html код. Сохраняю, на сайте норм отоброжается.
Заново захожу редактировать эту страницу, в доп поле уже пустое значение.

Такая же проблема была с виджетами http://forum.imagecms.net/viewtopic.php?id=97

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

2

Re: Работа дополнительных полей

Нету решений?

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

3

Re: Работа дополнительных полей

Файл application/modules/xfields/xfields.php
Строка 317, после текста

case 'item':

вставить следующее:

$f_data['value'] = htmlspecialchars($f_data['value']);

должно помочь.

Thumbs up Thumbs down

4

Re: Работа дополнительных полей

Можете привести пример куска кода со вставкой дополнительного поля (file) в шаблон category.tpl, по документации не могу разобраться?

Thumbs up Thumbs down

5

Re: Работа дополнительных полей

В конструкторе полей создаете поле, ставите отметку "Подключить файл менеджер".
При создании страницы указываете нужное вам значение.
После этого в шаблонах {$page.fileld_name} будет ваше значение.

Thumbs up Thumbs down

6

Re: Работа дополнительных полей

Хочу прицепить к статье файл, создаю в категории поле, добавляю файл, но он не появляется на сайте, все вроде просто, но не появляется, поэтому и возник вопрос, как же его прицепить, в общем так на данный момент и не поборол вопрос.

Thumbs up Thumbs down

7

Re: Работа дополнительных полей

В значение дополнительного поля записывается только ссылка на файл, сам файл аплоадится с помощью менеджера файлов.

Потом следует просто вытянуть эту ссылку на файл как обычно дополнительное поле и вставить в нужное место.

https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

8

Re: Работа дополнительных полей

На главной вывожу виджет последних новостей.
Для новости прикреплена мини картинка через доп поле.
Как на главной вместе с названием и описанием новости вывести еще и мини картинку.
Пробовал так {$page.fileld_page_img} и {$item.fileld_page_img} не получается

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

9

Re: Работа дополнительных полей

Для того что бы подключить поля к странице(если они не подключены автоматически), нужно передать массив с данными странице модулю CFCM


// $page - массив с данными страницы
$page = $this->load->module('cfcm')->connect_fields($page, 'page');

PS. Вместо $this можете использовать переменную $CI, если код пишите прямо в шаблоне.
Если переменная $CI не доступна, то нужно загрузить ее. $CI = get_instance();

Thumbs up Thumbs down

10

Re: Работа дополнительных полей

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

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

11

Re: Работа дополнительных полей

Ну например в шаблоне виджета

{foreach $pages as $page}
...
{$page = $CI->load->module('cfcm')->connect_fields($page, 'page')}
{$page.field_name}
...
{/foreach}

Thumbs up Thumbs down

12

Re: Работа дополнительных полей

Попробовал вставил в виджет, всё равно ссылка на картинку не отображается(((
{$CI = get_instance();}
{$page = $CI->load->module('cfcm')->connect_fields($page, 'page')}

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

13

Re: Работа дополнительных полей

Покажите код виджета.

Thumbs up Thumbs down

14

Re: Работа дополнительных полей

{foreach $recent_news as $item}
    {$CI = get_instance();}
    {$page = $CI->load->module('cfcm')->connect_fields($page, 'page')}
    <div class="lastwork_id">  
    <a href="{site_url($item.full_url)}" class="lastwork_img"><img src="{$page.field_work_img}" width="207" height="102" alt="{$item.title}" /></a>
    <a href="{site_url($item.full_url)}">{$item.title}</a>
    {$item.prev_text}
    </div>
{/foreach}
Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

15

Re: Работа дополнительных полей

Что я не так делаю? Подскажите пожалуйста, 2 сайта ждут (((

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

16 Отредактировано zloitapok (28-07-2010 21:06:11)

Re: Работа дополнительных полей

Попробуй

{foreach $recent_news as $item}
    {$CI = get_instance();}
    {$addfields = $CI->load->module('cfcm')->connect_fields($item, 'page')}
    <div class="lastwork_id">  
    <a href="{site_url($item.full_url)}" class="lastwork_img"><img src="{$addfields.field_work_img}" width="207" height="102" alt="{$item.title}" /></a>
    <a href="{site_url($item.full_url)}">{$item.title}</a>
    {$item.prev_text}
    </div>
{/foreach}

Второй способ:

Найди файл application/helpers/page_helper.php.
Допиши в конец файла:

if ( ! function_exists('get_fields'))
{
    // Get fields by id and type
    function get_fields($item_id, $item_type)
    {
        $ci = &get_instance();

        if ($item_type == 'page') {
            $ci->db->where('id', $item_id);
            $page = $ci->db->get('content')->row_array();
            if ($page['lang_alias'] != 0) $item_id = $page['lang_alias'];
        }

        $ci->db->select('id, field_name, data');
        $ci->db->from('content_fields_data');
        $ci->db->where('item_id', $item_id);
        $ci->db->where('item_type', $item_type);
        $extra_fields = $ci->db->get()->result_array();
        $fields_array = array();
        foreach ($extra_fields as $field) {
            $fields_array[$field['field_name']] = $field['data'];
        }
        return $fields_array;
    }
}

После этого в шаблоне:

{foreach $recent_news as $item}
    {$addfields = get_fields($item.id, 'page')}
    <div class="lastwork_id">  
    <a href="{site_url($item.full_url)}" class="lastwork_img"><img src="{$addfields.field_work_img}" width="207" height="102" alt="{$item.title}" /></a>
    <a href="{site_url($item.full_url)}">{$item.title}</a>
    {$item.prev_text}
    </div>
{/foreach}

Второй способ я использую

Еще добавлю, картинки лучше вставлять не так:

<img src="..." width="207" height="102">

а так:

<img src="..." style="max-width: 207px; max-height: 102px;">

Или так:

{literal}
<style>
.work_img { max-width: 207px; max-height: 102px; }
</style>
{/literal}

<img src="..." class="work_img">

Или так:

{literal}
<style>
.work_img { max-width: 207px; max-height: 102px; }
</style>
{/literal}

{img(array("src"=>"...", "class"=>"work_img"))}

И ссылки можно еще так:

{anchor("http://ссылка на ресурс", "Текст ссылки")}

Или картинка-ссылка:

{anchor("http://ссылка на ресурс", img("http://ссылка на картинку"))}
teapplix.com

17

Re: Работа дополнительных полей

ООО, спасибо тебе большое, заработало !!!!!!)))))))

Сайт под ключ, натяжка на ImageCMS, верстка, дизайн сайтов

18 Отредактировано sergey (06-04-2013 12:44:26)

Re: Работа дополнительных полей

На главной вывожу виджет последних новостей.
Для новости прикреплена мини картинка через доп поле.
Как на главной вместе с названием и описанием новости вывести еще и мини картинку.
Пробовал так {$page.fileld_page_img} и {$item.fileld_page_img} не получается

если виджет то можно просто

<img src="{media_url($item.field_image)}" alt="" />

Thumbs up Thumbs down