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:)