1 2014-09-04 15:18:34 (2014-09-07 09:44:19 отредактировано ravilr)

Тема: Pages + Fields

Pages + Fields - Измененный штатный плагин Pages для Monstra 3

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

СКАЧАТЬ

Установка

Внимание!!!!!!!!!!!!!!!
Плагин заменяет файлы, поэтому если у вас есть изменения в плагине pages, то переносите изменения вручную.

1.Скопировать папку pages в папку plugins/box/

2. Войти в админку и проверить, появились ли при редактировании страницы дополнительные поля

3. Удалить или закоментировать стоки 55-56 в файле pages.admin.php


Применение:

В шаблоне

<?php echo Page::fields('2'); ?>

где 2, номер поля


или Шоткод

{page_fields id=2}

, где id=2 это номер поля

Поделиться

2 2014-09-10 16:58:01

Re: Pages + Fields

Отличное решение, мне очень подошло!

Поделиться

3 (2014-09-11 13:37:50 отредактировано moonfisher-ua)

Re: Pages + Fields

Всем привет! вот только что заметил что на родит. стран. доп. поля не выводятся, как то можно поправить?

добавлю - решил так echo ($page['field1'])

Поделиться

4

Re: Pages + Fields

странно. Проверил и все выводится и кодом и снипетом.

Поделиться

5

Re: Pages + Fields

Привет. Какую конструкцию if else указать для того, чтобы не выводить доп.поле, если оно не содержит данных?
Хочу использовать их для вывода изображения и ссылки в формате

<img src="<?php echo Page::fields('1'); ?>">
<a href="<?php echo Page::fields('2'); ?>"></a>

Поделиться

6 2015-06-03 10:16:49 (2015-06-03 10:50:19 отредактировано Faust)

Re: Pages + Fields

Вопрос не корректен.

1. Хотите использваоть php или js?

1.1 PHP - исчерпывающий гайд по конструкции (англ)
http://www.w3schools.com/PhP/php_if_else.asp
1.2 JS - исчерпывающий гайд по конструкции (англ)
http://www.w3schools.com/JS/js_if_else.asp

1.3 как вариант другая конструкция switch в PHP - исчерпывающий гайд по конструкции (англ)
http://www.w3schools.com/PhP/php_switch.asp

2. Из выше приведенных гайдов: Записываешь в переменную поле и указываешь в каких случаях ее выводить.

Ex ungue leonem

Поделиться

7

Re: Pages + Fields

redrabbit пишет:

Привет. Какую конструкцию if else указать для того, чтобы не выводить доп.поле, если оно не содержит данных?
Хочу использовать их для вывода изображения и ссылки в формате

Так пробовали?

<?php
    if (!$page['field1'] == '') {
?>
    <img src="<?php echo Page::fields('1'); ?>">
    <a href="<?php echo Page::fields('2'); ?>"></a>
<?php
    }
?>

Поделиться

8

Re: Pages + Fields

redrabbit пишет:

Привет. Какую конструкцию if else указать для того, чтобы не выводить доп.поле, если оно не содержит данных?
Хочу использовать их для вывода изображения и ссылки в формате

Или так:

<?php
    if (isset($page['field1']) && $page['field1'] != '')
    {
?>
        <img src="<?php echo Page::fields('1'); ?>">
<?php
    } elseif (isset($page['field2']) && $page['field2'] != '')
    {
?>
        <a href="<?php echo Page::fields('2'); ?>"></a>
<?php
    }
?>
Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

9

Re: Pages + Fields

Поставил плагин, при редактировании страницы поля вижу, заполняю их, после нажатия "Сохранить" вся инфа из них пропадает. ЧЯДНТ?

Поделиться

10

Re: Pages + Fields

Gumball пишет:

Поставил плагин, при редактировании страницы поля вижу, заполняю их, после нажатия "Сохранить" вся инфа из них пропадает. ЧЯДНТ?

скорей всего не на той версии используем. Я делал именно для 3 версии. На 3.1 не проверял..

Поделиться

11

Re: Pages + Fields

Переустановил, всё работает ок со страницами.

Пробую адаптировать его в блоге. Шорткод echo Page::fields(1) отлично отрабатывает в самом шаблоне поста, но я не могу вывести это значение на страницу /blog, где расположены анонсы постов.

Через echo $post['field1'] данные из поля вывести не получается(

Поделиться

12

Re: Pages + Fields

Gumball пишет:

Переустановил, всё работает ок со страницами.

Пробую адаптировать его в блоге. Шорткод echo Page::fields(1) отлично отрабатывает в самом шаблоне поста, но я не могу вывести это значение на страницу /blog, где расположены анонсы постов.

Через echo $post['field1'] данные из поля вывести не получается(

В blog.plugin.php ищем строчку

$posts = Pages::$pages->select($query, $nums, $start, array('slug', 'title', 'author', 'date'), 'date', 'DESC');

меняем на

$posts = Pages::$pages->select($query, $nums, $start, array('slug', 'title', 'author', 'date', 'field1', 'field2'), 'date', 'DESC');

Поделиться