[Решено] PHP field

Главные вкладки

Аватар пользователя Aectann Aectann 4 декабря 2013 в 3:01

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

Надо в произвольную часть страницы вставить кусок php кода.
Можно конечно вставить field text и в нем прописать.
Но тут одна трудность надо чтобы при редактировании данный field не отображался и администратор не мог изменить этот код.

Подскажите может есть такой тип поля. Или как другим методом решить эту проблему.

Комментарии

Аватар пользователя Aectann Aectann 4 декабря 2013 в 12:37

Что за форум! Нет бы подсказать, вечно какую-то хрень буркнут и в кусты.
В сборище торолей превратился.

Аватар пользователя Niklan Niklan 4 декабря 2013 в 12:45

"Aectann" wrote:
Что за форум

drupal.ru, добро пожаловать юный друпалер
"Aectann" wrote:
В сборище торолей превратился.

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

темизацию юзайте если надо что-то влепить через php, в админку не стоит такую возможность вообще вносить

Аватар пользователя Aectann Aectann 4 декабря 2013 в 13:48

Niklan wrote:
drupal.ru, добро пожаловать юный друпалер

офигеть! вот ты сетевой супер герой КО.

Niklan wrote:
темизацию юзайте если надо что-то влепить через php, в админку не стоит такую возможность вообще вносить

Ну и как интересно через темизацию сделать если в контенте идет так:
1. заголовок
2. картинка
3. ряд полей информации
4. php код
5. основной текст
6. опять ряд информационных полей.

Аватар пользователя Niklan Niklan 4 декабря 2013 в 14:12

"Aectann" wrote:
1. заголовок
2. картинка
3. ряд полей информации
4. php код
5. основной текст
6. опять ряд информационных полей.

"Niklan" wrote:
темизацию юзайте

Если это нода, то создайте для неё свой node--NODE-TYPE.tpl.php
а там все данные лежат в $node
Берите какие нужно и выставляйте в каком нужно виде и порядке.

Аватар пользователя Aectann Aectann 4 декабря 2013 в 15:44

Пытаюсь вывести поле email через
<?php print render($content['field_email']); ?>
результата нет.
В чем проблема? Такой рендер вообще работает?

Аватар пользователя q2_faith q2_faith 4 декабря 2013 в 16:08

"Aectann" wrote:
В чем проблема? Такой рендер вообще работает?

объявляю слет гадалок.
"Aectann" wrote:
Но тут одна трудность надо чтобы при редактировании данный field не отображался и администратор не мог изменить этот код.

https://api.drupal.org/api/drupal/developer%21topics%21forms_api_referen...
альтерите виджет нужного поля.
имхо, проще свое поле сделать.

Аватар пользователя Aectann Aectann 4 декабря 2013 в 17:55

Скачал Devel включил пишу в шаблон <?php dpm($content); ?>

выдает вот
Notice: Undefined variable: content в функции include() (строка 59 в файле /home/test/all/themes/test/template/page.tpl.php).

Аватар пользователя q2_faith q2_faith 4 декабря 2013 в 18:13

"Aectann" wrote:
Скачал Devel включил пишу в шаблон <?php dpm($content); ?>
выдает вот
Notice: Undefined variable: content в функции include() (строка 59 в файле /home/test/all/themes/test/template/page.tpl.php).

вот вам и ответ)

Аватар пользователя Niklan Niklan 4 декабря 2013 в 18:25

"Aectann" wrote:

дак он правильный, это у вас косяк где-то, нету $content.... WTF?а как страницы то отображаются тогда?

Аватар пользователя Niklan Niklan 4 декабря 2013 в 18:31

"Aectann" wrote:
<?php print render($page['content']); ?>
Вот так основной контент выводиться.

Действительно же. Чот я попутал.

Так я чот не понял, если вам надо поле, вы и берите его в тех местах где оно может быть... в нодах.
Создайте шаблон для ноды и принтаните массив, там будут все ваши данные. Можно из $page['content'] вытащить конечно, но это ппц длинно будет)

Аватар пользователя Aectann Aectann 4 декабря 2013 в 19:47

Врубился )) вот я тормоз. В page.tpl.php шаманю. Сейчас попробую. Позже отпишусь, что получилось.

Update: Все получилось спасибо кто откликнулся.
Cделал через node.tpl.php

Аватар пользователя Niklan Niklan 4 декабря 2013 в 20:34

"Aectann" wrote:
Update: Все получилось спасибо кто откликнулся.
Cделал через node.tpl.php

:O 5 коммент к статье... мда)

Аватар пользователя Aectann Aectann 7 декабря 2013 в 22:35

В итоге отказался от темизации через node.tpl.php, основной минус при добавлении нового поля приходиться лезть в шаблон.
Написал маленький модуль на основе hook_field_extra_fields получился филд который можно в любое место страницы передвинуть.

Аватар пользователя Niklan Niklan 7 декабря 2013 в 22:41

"Aectann" wrote:
В итоге отказался от темизации через node.tpl.php, основной минус при добавлении нового поля приходиться лезть в шаблон.

Если дизайн сильно проработанн иначе никак. Можно через field-*.tpl.php непосредственно поменять вывод поля.