Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Don';Drupal自定义模块上的t工作字段类型_Php_Drupal 7_Drupal Modules_Field - Fatal编程技术网

Php Don';Drupal自定义模块上的t工作字段类型

Php Don';Drupal自定义模块上的t工作字段类型,php,drupal-7,drupal-modules,field,Php,Drupal 7,Drupal Modules,Field,我正在创建一个自定义模块和内容类型。并在我的页面上显示这些项目。我的模块是: function theme_news(){ global $language; $output = ''; drupal_set_title('News'); $m_query = db_select("node","n")->extend("PagerDefault")->limit(10); $m_query->fields("n",array('

我正在创建一个自定义模块和内容类型。并在我的页面上显示这些项目。我的模块是:

function theme_news(){
    global $language;

    $output = '';

    drupal_set_title('News');


    $m_query = db_select("node","n")->extend("PagerDefault")->limit(10);
    $m_query->fields("n",array('nid','title','language'));
    $m_query->condition('status','1',"=");
    $m_query->condition('n.type','news','=');
    //$m_query->condition('n.language',$language->language,'=');
    $m_query->orderBy('n.sticky','desc');

    if(arg(1) == 'latest_news'){
        $m_query->join('field_data_field_etype','fe','n.nid=fe.entity_id');
        $m_query->condition('fe.field_etype_value','ap','=');
        if(arg(2) != ''){
            $m_query->join('field_data_field_myear','fy','n.nid=fy.entity_id');
            $m_query->condition('fy.field_myear_value',arg(2),'=');
        }

    }

    if(arg(1) == 'feature_news'){
        $m_query->join('field_data_field_etype','fe','n.nid=fe.entity_id');
        $m_query->condition('fe.field_etype_value','sp','=');
        if(arg(2) != ''){
            $m_query->join('field_data_field_myear','fy','n.nid=fy.entity_id');
            $m_query->condition('fy.field_myear_value',arg(2),'=');
        }
    }
此函数创建2个子菜单并显示这些子菜单中的内容。工作我的代码,但我不知道,为什么我看不到字段值


如何解决这个问题?

我建议您通过组合Drupal视图和过滤器来解决您的任务,而不是立即在自定义模块中创建自定义SQL查询。在大多数情况下,这是足够的,并导致较少的头痛以后

条件
子句应该是视图筛选器

join
s应该是视图关系


您的自定义字段实际上应该是CCK字段。

如果您不想使用视图,请创建一个包含关系、顺序、字段和所有需要的视图,然后在模块中按视图复制生成的sql查询,这将起作用。

我发现了问题。模块热处理此分区:'.$m_detail->title。'News,2011
div
s是HTML标记的一部分,通过模板处理显示。该模块是一段链接到Drupal的PHP代码,在处理请求时在不同的地方被调用。“模块没有div”是什么意思?视图可以在输出中包含任何字段。请首先尝试通过组合股票功能来实现您的目标,因为编写定制PHP是qiute anti-Drupalish:)