将数据插入表后,更新主页Drupal7中的数据 -- 7 领域 和 theming 领域 drupal 相关 的问题

After insert data to table, updating data in home page drupal7


0
vote

问题

中文

我有一个用于将数据插入类别表的插入_data模块,我还有一个名为mysite的模块,该模块具有名为"function mysite_preprocess_panels_pane(& $变量)" 的函数用于将数据呈现为panel.tbl。 PHP。

我的问题是我如何从MySite模块调用函数"mysite_preprocess_panels_pane(& $变量)" 。

我的目的是将数据插入表我想要在主页中显示更新数据(panel.tbl.php)。我是德鲁佩尔的新手,我需要帮助或建议。 谢谢

插入_data模块

  function insert_data($fn,$data) {     $reply='';     $status =1;     $cid = db_insert('category') // Table name no longer needs {}     ->fields(array(       'name' => $data['name'],    ))->execute();     module_load_include('module', 'mysite', 'mysite');    function mysite_preprocess_panels_pane();    $reply= (array('status' => $status,'category' => $cid) );    return $reply; }   

调用mysite_preprocess_panels_pane()没有参数会很好?

mysite模块

  function mysite_preprocess_panels_pane(&$variables) {     $query = db_select('category', 'n');     $query->fields('n');     $items = $query->execute()->fetchAll();      $variables['ar'] = $items; }   

panel.tbl.php

  <div class="panel-panel panel-col-first">a      <?php          if (isset($variables['ar'])) {              foreach (array_keys($variables['ar']) as $name) {              print render($ar[$name]);         }      }  ?></div>   
英文原文

I have a insert_data module that used to insert data to category table, and I also have a module named mysite that has a function named xe2x80x9cfunction mysite_preprocess_panels_pane(&$variables) xe2x80x9c is used to render data to panel.tbl.php.

My question is how can I call function xe2x80x9cmysite_preprocess_panels_pane(&$variables)xe2x80x9d from mysite module.

My purpose is after inserting data to table I want to show update data in home page(panel.tbl.php). I am new to drupal I need help or suggestion. Thanks

Insert_data module

function insert_data($fn,$data) {     $reply='';     $status =1;     $cid = db_insert('category') // Table name no longer needs {}     ->fields(array(       'name' => $data['name'],    ))->execute();     module_load_include('module', 'mysite', 'mysite');    function mysite_preprocess_panels_pane();    $reply= (array('status' => $status,'category' => $cid) );    return $reply; } 

Calling mysite_preprocess_panels_pane() without parameter will be fine?

Mysite module

function mysite_preprocess_panels_pane(&$variables) {     $query = db_select('category', 'n');     $query->fields('n');     $items = $query->execute()->fetchAll();      $variables['ar'] = $items; } 

Panel.tbl.php

<div class="panel-panel panel-col-first">a      <?php          if (isset($variables['ar'])) {              foreach (array_keys($variables['ar']) as $name) {              print render($ar[$name]);         }      }  ?></div> 
     

回答列表

0
 
vote

而不是实现template_preprocess_panels_pane()并插入您的内容有一个名为ctools内容类型的内容。

CTools内容类型在面板接口中显示为可以添加到区域的窗格。

在您的情况下,我将在MySite中创建一个CTools内容类型。

基本上它是一个块,包含可以放在您选择的区域中的渲染数据。

对于其他开发人员来说,将更容易理解数据如何在首页上插入数据,因为它将在面板界面中可见。

  /**  * Implements of hook_ctools_plugin_directory().  */ function MYMODULE_ctools_plugin_directory($module, $plugin){   if ($module == 'ctools' || $module == 'panels'){     return 'plugins/' . $plugin;   } }   

然后在一个名为plugins的模块中创建一个文件夹,然后在该文件夹中创建一个名为plugins的文件夹。放置一个名为myplugin.inc的文件 然后将文件放在 mymodule / plugins / content_types / myplugin.inc中

中。

将此内容放在myplugin.inc中

  <?php  $plugin = array(   'single' => TRUE,   'title' => t('MYPLUGIN'),   'render callback' => 'MYPLUGIN_content_type_render',   'description' => t('Renders something.'),   'category' => t('Custom'),   'edit form' => 'MYPLUGIN_content_type_edit_form', );  /**  * Render the custom content type.  */ function MYPLUGIN_content_type_render($subtype, $conf, $panel_args, $context) {   $block = new stdClass();   $block->content = 'MYDATA';   return $block; }  /**  * Edit callback.  */ function MYPLUGIN_content_type_edit_form($form, &$form_state) {   $conf = $form_state['conf'];   return $form; }  /**  * Implements hook_form_submit().  */ function MYPLUGIN_content_type_edit_form_submit($form, &$form_state) {   foreach (element_children($form) as $key) {     if (!empty($form_state['values'][$key])) {       $form_state['conf'][$key] = $form_state['values'][$key];     }   } }   

现在替换$ block-&gt;内容与要呈现的数据。

 

Instead of implementing template_preprocess_panels_pane() and inserting your content there is something called ctools content types.

A ctools content type shows up in the panels interface as panes that can be added to a region.

In your case I would create a ctools content type in your module mysite.

Basically it's a block that contains rendered data that can be placed in a region of your choice.

It will be more easy to understand for other developers how the data is inserted on the front page also since it will be visible in the Panels interface.

/**  * Implements of hook_ctools_plugin_directory().  */ function MYMODULE_ctools_plugin_directory($module, $plugin){   if ($module == 'ctools' || $module == 'panels'){     return 'plugins/' . $plugin;   } } 

Then create a folder in your module called plugins and in that folder create a folder called plugins. Place a file called MYPLUGIN.inc The file should then be placed in mymodule/plugins/content_types/MYPLUGIN.inc

Place this content in your MYPLUGIN.inc

<?php  $plugin = array(   'single' => TRUE,   'title' => t('MYPLUGIN'),   'render callback' => 'MYPLUGIN_content_type_render',   'description' => t('Renders something.'),   'category' => t('Custom'),   'edit form' => 'MYPLUGIN_content_type_edit_form', );  /**  * Render the custom content type.  */ function MYPLUGIN_content_type_render($subtype, $conf, $panel_args, $context) {   $block = new stdClass();   $block->content = 'MYDATA';   return $block; }  /**  * Edit callback.  */ function MYPLUGIN_content_type_edit_form($form, &$form_state) {   $conf = $form_state['conf'];   return $form; }  /**  * Implements hook_form_submit().  */ function MYPLUGIN_content_type_edit_form_submit($form, &$form_state) {   foreach (element_children($form) as $key) {     if (!empty($form_state['values'][$key])) {       $form_state['conf'][$key] = $form_state['values'][$key];     }   } } 

Now replace $block->content with the data you want to be rendered.

 
 

相关问题

1  如何为Excel Parser Drupal 7设置限制  ( How to set limit for excel parser drupal 7 ) 
我正在使用Feed进口商从Excel表导入用户。在我当地的WAMP服务器中,我可以导入超过170个用户。但是当我尝试在我的服务器上时,它不起作用。它显示: 发生了一个ajax HTTP错误。 HTTP结果代码:500调试 信息如下。路径:/批处理?ID = 2906&amp; op = do Statustex...

1  使用页面处理程序时包含字符编码(丹麦语æØÅ)的问题包括hook_menu()中的文件。  ( Problem with character encoding danish %c3%a6 %c3%b8 %c3%a5 when using page handler include ) 
当我使用.inc文件来处理我的页面输出时,所有丹麦特殊字符(æ,Ø和Å)显示为问号,即它们是用错误的字符编码呈现。 以下模块按预期工作。 stack_exchange_minimal.module <?php /** * Implements hook_menu(). */ function stack_ex...

0  设置字段的CondInonal默认值  ( Set conditonal default value of a field ) 
我有一个与字段的自定义表单... function mh_integration_connect_form($form, &$form_state) { $form['#method'] = 'get'; $params = drupal_get_query_parameters(); $form[...

0  在SQL查询中指定二进制顺序  ( Specify binary order in sql query ) 
在自定义模块中,从数据库中选择字段(Collat​​ion:UTF8_LATVIAN_CI),订购的订单out给出了错误的字母顺序: "aaaa,āaaa,abb,acc" 而不是"aaaa,abb,acc,āaaa" 。 这可以通过如下所示的查询来纠正,如此 [..] ORDER BY myfield COLL...

1  为什么在我的规则条件下始终不变,新值始终相同?  ( Why is unchanged and new value always the same in my rules condition ) 
我有一个名为验证的布尔字段,在Profile2中定义。当此字段从未勾选到勾选时,我想向用户发送电子邮件。我很容易想到规则 使用"在更新现有配置文件之后" ,然后比较字段 profile2-unchanged:user:profile-directory-information:field-verified 和 ...

1  在Drupal中记录更改/修改  ( Logging changes modifications in drupal ) 
是否有标准方式或模块可以记录所有节点/设置修改/更新? 我不觉得看门狗是最好的地方,因为它是一个错误日志而不是更新日志,但我想它会这样做。 在magento cms中,它可能看起来像这样: http://amasty.com/admin -action-log.html 我们有一些事情发生了改变,我们不知道谁...

1  覆盖显示套件布局的模板文件适用于其他页面  ( Overriding template file of display suite layout applies on other pages ) 
我在管理用户部分中创建了一个显示套件布局"堆叠" ,然后我想覆盖该模板,并在我的主题模板文件夹中制作一个新的模板, DS模块为我建议: ds-2col堆叠 - user.tpl.php ds-2col堆叠 - user-user.tpl.php 所以我在我的模板文件夹中创建了 ds-2col-st...

2  蜜罐在自定义webforms(手册)  ( Honeypot in custom webforms manual ) 
我正在制作自定义表单(使用 drupal_render )添加字段,但由于我为所有Web表单启用了Honeypot,当我提交表单时,我收到以下消息: 表单提交存在问题。请等待X秒然后再试一次。 这是因为蜜罐标记没有包含在我的自定义形式中。 我有两个选项: 禁用此表​​单的蜜罐(通过从Drupal管理菜单中通过...

0  改变标题?  ( Change a heading ) 
一个面板有一个错误的文章标题,我想做对,但是;我找不到错误的数据来自哪里。我难以识别Drupal的组件,但是;希望这个问题不会太令人困惑或不当地描述。 在我的主页上,我有一个物体,它具有"查看,编辑,面板布局,面板内容" ,似乎包含欢迎块和特色文章。欢迎块窗格标题是"欢迎来到城市名称库" ,我想改变城市名称。但是,我...

2  表单API AJAX调用使用行为重新加载附加的JS  ( Form api ajax calls reload attached js using behaviors ) 
我的表格上有传单映射,这是我使用的容器div: $form['general']['map'] = array( '#markup' => '<div class="map-wrapper" id="ngmap"></div>', ); 一切都适用于罚款和地图正在加载。我还添加了如下形式底部的图像上传功...

1  试图向WebForm发送<div>  ( Trying to send a div with webform ) 
我有一个基于用户选择的一些计算(JavaScript)的WebForm,我想与用户可选字段一起发送给用户的电子邮件。 是否可以将这些div与字段一起附加到HTML电子邮件? ...

0  麻烦启用内容类型的视图模式  ( Trouble enabling view modes for content types ) 
我有一个自定义视图模式,需要为节点类型启用它。我需要通过我的模块启用它,似乎hook_entity_info_alter()是去的方式,但它不起作用。我错过了什么? 我的代码: function mymod_entity_info_alter(&$entity_info) { $entity_info['...

0  如何在内容类型中添加编辑按钮?  ( How to add edit button in content type ) 
我是drupal新的,我正在添加一个按钮,用于从数据库编辑数据。 但是当我使用添加内容类型添加编辑按钮时,此错误消息就向我展示。请帮助我指导如何添加按钮并将其与数据库相关联。 ...

1  如何在首页上显示两个列的视图? [关闭]  ( How to show a view with 2 columns on the front page ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅拍摄了一个问题,只有编辑此帖。 关闭 4年前。 ...

0  通过日期字段的值过滤,在“上个月”中筛选为7月31日的7月内容  ( View filtered by a date fields value being in last month shows july content o ) 
视图通过日期字段的值过滤。日期字段的月份必须是上个月才能匹配过滤器。 在每天除外,7月31日,它将返回上个月的结果。它应该返回六月匹配的结果。我们已经尝试过"-1个月" ,但这也不工作。 为什么7月31日它会跳过一个月? ...

5  现场值更改时提交表单  ( Submit form when field value changed ) 
我有一个简单的形式,方法如下... function MYMODULE_form($form, &$form_state) { $form['#method'] = 'get'; $params = drupal_get_query_parameters(); $form['cat'] = arra...

0  如何在节点显示页面上显示CCK现场标签,而不是节点添加页面?  ( How can i make cck field labels display differently on the node display page as ) 
我有一个自定义内容类型,表单标签如下所示: "你想上传照片吗?" 适合上传数据,但是在向世界显示数据时,我仍然存在: "照片:" 我看到它有一个模块,但它似乎没有很好地支持或使用那么多 https://www.drupal.org/project/field_display_label 。同样,该模块似乎不支持第...

-1  哪个模块与Profile2有效2,以显示个人资料完成状态?  ( Which module is work good with profile2 to show profile complete status ) 
我在drupal 7中使用profile2模块。我想使用百分比来显示配置文件完成状态。我已经使用了配置文件完整的百分比模块,但我没有得到适当的结果。请帮助哪个模块与Profile2一起使用。谢谢 ...

0  限制过滤器运算符  ( Limit filter operators ) 
有没有办法限制操作员以获取用户的视图。我希望它们只有"开始 - 与" ,"包含" 和"相同" 。但不是其余的。我必须使用自定义模块form_alter吗?或者有一些实习生可以实现这一目标吗? ...

3  如何在默认情况下制作“在LinkedIn上宣布”?  ( How to make announce on linkedin on by default ) 
我正在使用 linkedin 模块。 我想要"在linkedin上宣布" 默认情况下打开。我正在使用 feeds 模块为RSS。它会自动创建馈送和馈送项目内容类型。 RSS内容自动保存为新节点。但该节点未在LinkedIn中发布。我必须编辑内容并手动检查"在linkedin上宣布" 才能发布: 我希望它自动发...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.