View teaser显示中希望去掉一些字段的外围html包裹
查到可以通过重写themename_filed(),这个函数放到template.php里不生效,有什么条件吗?
Drupal 版本
清除缓存后就能生效。
清除缓存后就能生效。
感谢您的回答,但是清除缓存没有用
昨天我在调内容类型字段显示方式时(由于长文本不能换行显示,显示格式切换了下)发现bootstrap_field()生效了,后来删掉测试代码,空闲时再去写bootstrap_field()发现无效了,clear all cache也没用。
我只简单的return,也不生效(昨天下午不知什么原因生效了,subtheme里测试bootstrap_sub_field()也生效了)
function bootstrap_field ($variable) { return '2323'; }
我希望重写一类字段
function bootstrap_field ($variables) {
if(in_array()){
//去掉外包裹的html
}
else //drupal rander
}
回复框有时有时没副文本输入??
* 回复框有时有时没副文本输入??* 回复只放code,评论被认为是空
function bootstrap_sub_field(
function bootstrap_sub_field($variables) {
...
}
放到subtheme里清除缓存还是不生效,在bootstrap主题里有效
我要复写一类字段,不是一个,所以用themename_field()
前提是这个方法已在bootstrap主题里生效了,我想拿到sub theme里方便主题更新
另外,我在bootstrap里加入表单重写,清除缓存不生效:
function bootstrap_customize_comment_form(&$form) { $form[LANGUAGE_NONE][0]['format']['guidelines']['#access'] = FALSE; $form[LANGUAGE_NONE][0]['format']['help']['#access'] = FALSE; //$form[LANGUAGE_NONE][0]['format']['#attributes'] = array('style' => 'display: none;'); return $form; }
字段覆写函数这样定义的,已经生效了
function bootstrap_field($variables) { $output = ''; // Render the label, if it's not hidden. if (!$variables['label_hidden']) { $output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . ': </div>'; } if (in_array($variables['element']['#field_name'], array('field_example1', 'field_example2', 'field_example3', 'field_example4'))) { // For tags, concatenate into a single, comma-delimitated string. foreach ($variables['items'] as $delta => $item) { $rendered_tags[] = drupal_render($item); } $output .= '<span>'.implode(', ', $rendered_tags).'</span>'; // Render the top-level DIV. $output = '<div class="' . $variables['classes'] . '"' . $variables['attributes'] . '>' . $output . '</div>'; } else { $output .= '<div class="field-items"' . $variables['content_attributes'] . '>'; // Default rendering taken from theme_field(). foreach ($variables['items'] as $delta => $item) { $classes = 'field-item ' . ($delta % 2 ? 'odd' : 'even'); $output .= '<div class="' . $classes . '"' . $variables['item_attributes'][$delta] . '>' . drupal_render($item) . '</div>'; } $output .= '</div>'; // Render the top-level DIV. $output = '<div class="' . $variables['classes'] . '"' . $variables['attributes'] . '>' . $output . '</div>'; } // Render the top-level DIV. return $output; }
drupal 的hook函数查找是否有周期性呢
drupal 的hook函数查找是否有周期性呢(会否有张缓存表记录各模块里的hook函数)?之前在bootstrap里放的bootstrap_feild也是不生效,后来莫名其妙就ok了
回复去掉text format解决了
function bootstrap_form_comment_form_alter(&$form, &$form_state, &$form_id) { $form['comment_body']['#after_build'][] = 'bootstrap_customize_comment_form'; } function bootstrap_customize_comment_form(&$form) { $form[LANGUAGE_NONE][0]['format']['guidelines']['#access'] = FALSE; $form[LANGUAGE_NONE][0]['format']['help']['#access'] = FALSE; $form[LANGUAGE_NONE][0]['format']['#attributes'] = array('style' => 'display: none;'); return $form; }
现在的疑惑是放到子主题中不生效?字主题文件夹名字是bootstrap_sub
凄凄惨惨凄凄...
凄凄惨惨凄凄...