Как вставить форму создания узла внутри представления

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

Что я хочу сделать, это когда я нажимаю на элементы ссылки, форма представления узла, связанная со ссылкой, должна появляться внутри представления (путь AJAX).

Решение, о котором я могу думать, заключается в том, чтобы вставлять формы внутри представления, но не знаю, как это сделать?

Каков наилучший способ реализовать это?

7 голосов | спросил kmdhrm 5 22013vEurope/Moscow11bEurope/MoscowTue, 05 Nov 2013 09:30:51 +0400 2013, 09:30:51

4 ответа


5

Надеюсь, это поможет вам,

В Drupal 7 вы можете выполнить следующие шаги

  • Вы можете вставить форму создания узла внутри VIEW

    • Либо в VIEW Header , либо вы можете создать новый VIEW и прикрепить его к просмотру
  • В этом примере я внедряю внутри Заголовок заголовка . Лучшим вариантом станут встраивание внутри Заголовок заголовка . Нажмите Добавить заголовок заголовка

    введите описание изображения здесь>> </p>
</li>
<li>
<p> Выберите Global: область текста </p>

<p> <img src =

  • PHP-код

    <?php 
        module_load_include('inc', 'node', 'node.pages');
        $node_form = node_add('node_type');
        print drupal_render($node_form);
    ?>
    

Примечание:

  • Не забудьте заменить node_type на PHP-код.

  • Используйте hook_form_alter для перенаправления формы узла, так как после создания узла форма будет перенаправлена ​​на страницу подробностей узла. Если вы хотите перенаправить на свою страницу, используйте $form_state['redirect'] = 'mycustompage'; ссылка

  • Включить модуль PHP Filter , используя admin /modules

введите описание изображения здесь>> </p>

<ul>
<li> Установите <strong> Разрешения </strong> для этого модуля, включив «Администратор» для <strong> Выполнить PHP-код </strong> следующим образом: </li>
</ul>
<p> <img src =

ответил inizio 6 32013vEurope/Moscow11bEurope/MoscowWed, 06 Nov 2013 19:11:56 +0400 2013, 19:11:56
1

Если вы счастливы играть с каким-то специальным кодом, аналогичный вопрос задавался в StackOverflow, и были некоторые довольно обширные решения по встраиванию форм в представление. Все, что вам нужно сделать, это использовать form_id формы создания узла, специфичной для вашего типа, и поместить его в одно из опубликованных решений здесь на вашем сайте.

ответил KyleM 5 22013vEurope/Moscow11bEurope/MoscowTue, 05 Nov 2013 10:52:59 +0400 2013, 10:52:59
1

Посмотрите Inline Entity Form для этого; Commerce Kickstart использует это как часть рецепта для управления продуктами и вариациями продукта. Я уверен, что есть больше, чем я могу вспомнить прямо сейчас, но если это выглядит многообещающе, я вернусь и улучшу этот ответ (или, возможно, другие помогут улучшить этот ответ).

Возможный альтернативный (или бесплатный?) модуль может быть Entity Views Attach , который, я считаю, также используется в кикстарте коммерции.

ответил emjayess 6 32013vEurope/Moscow11bEurope/MoscowWed, 06 Nov 2013 21:07:47 +0400 2013, 21:07:47
0

Я не могу комментировать решение заголовков Views, отправленное inizio, у меня недостаточно репутации.

Ну, я хочу опубликовать, что вы можете решить перенаправление формы после отправки Правила , и вы не Не нужно создавать собственный модуль hook_form_alter.

  • Создать правило, инициированное на "После сохранения нового содержимого" для вашего типа узла
  • Добавить условие, сравнить данные и сравнить селектор [site: current-page: path] равен вашему пути просмотра
  • Добавить страницу действия перенаправления в путь просмотра

Может быть полезно также Блок форм и модули расширенного модуля формы, но вставка PHP-кода в поле зрения заголовки, которые вы запрещаете устанавливать дополнительный модуль

И сделано!

ответил ferriol 18 PM00000010000004931 2015, 13:25:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132