我正在更新我从D6写到D7的模块,因此必须通过新的#ajax表格交换旧的AHAH.
我正在执行一个ajax请求,它创建一个结果并用它替换一个表单元素.这基本上可以正常工作,但在第一次请求之后,结果会被缓存,并且不会考虑表单中的更改.我认为这可能是一个浏览器问题,但可能是Drupal发送了一个过期标头,导致浏览器采用缓存版本?还有其他想法吗?
hook_cache()中的片段:
$form['fieldset']['mybutton'] = array(
'#type' => 'button',
'#value' => t('Send request'),
'#ajax' => array(
'callback' => 'mycallback',
'wrapper' => 'mywrapper',
'method' => 'replace',
'effect' => 'fade',
)
Run Code Online (Sandbox Code Playgroud)
一个回调片段:
function mycallback($form, $form_state) {
[..]
$form['fieldset']['mywrapper']['#markup'] = 'test';
return $form['fieldset']['mywrapper']['#markup'];
}
Run Code Online (Sandbox Code Playgroud) 页面加载后,标签的颜色(即"输入你的名字")应改为红色.但标签的颜色保持不变.为什么会这样?
脚本
window.onload = startScript;
function startScript() {
if( document.getElementById("text_field").value === "me") {
var allTags = document.getElementsByTagName("label");
allTags.className = "inserter";
}
}
Run Code Online (Sandbox Code Playgroud)
HTML
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="inserter.js">
</script>
<style type="text/css">
@import url("inserter.css");
</style>
</head>
<body bgcolor="#99FFFF">
<form>
<label>Enter your name<input type="text" id="text_field" value="me" />
</label>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
CSS
@charset "utf-8";
/* CSS Document */
.inserter {
color:#F00;
}
Run Code Online (Sandbox Code Playgroud)
现在,由于该值等于me类名,因此"inserter"会动态插入到label元素中,颜色应该显示为红色.
为什么不这样呢?
我在Drupal继承了一个网站.简短地讲述了一个长篇痛苦的故事:我想拼命地走向理智.WP 3.2.1(撰写本文时最新)是选择.
然而,看起来Drupal的出口流程需要机械工程博士学位.谷歌搜索导致Java程序(对我们来说无关紧要)或付费服务.
真?有没有人道的方法将我的所有数据从Drupal移动到WP?
感谢您的任何指示!
我想在Drupal中做一个简单的SQL查询,但我不确定如何.我想实现这个目标:
SELECT COUNT(nid) AS i_count FROM node WHERE `created` != `changed`;
Run Code Online (Sandbox Code Playgroud)
我有以下代码,但不起作用:
$query = db_select('node', 'n');
$query->addExpression("COUNT(nid)","i_count");
$query->condition("created","changed","!=");
$i_number_published = $query->execute()->fetchCol();
Run Code Online (Sandbox Code Playgroud)
它不起作用的原因是它将列created与字符串值进行比较"changed".有什么方法可以告诉它比较列而不是列字符串?
我需要限制我网站的各个部分.我想通过限制对各种子路径的访问来实现这一点.Path Access模块实际上并不这样做.
你能否建议任何可以限制以下内容的机制:
members-area/editors/*仅限于具有"编辑"角色的用户.
也许有办法用规则做到这一点?我试过了,但找不到一个.
谢谢
我可以使用不同的钩子来获取提交的新节点的node_id吗?
function dc_project_management_form_bug_request_node_form_alter(&$form, &$form_state, $form_id)
{
$form['#submit'][] = 'dc_project_management_process_bug_request_milestone_submit';
}
function dc_project_management_process_bug_request_milestone_submit($form, &$form_state)
{
//NULL when submitting new node
$form_state['values']['nid'];
}
Run Code Online (Sandbox Code Playgroud) 仅当被点击的元素没有类agallery或时,才应满足条件aslide.这不适合我.
if(!$(this).hasClass('agallery') || !$(this).hasClass('aslide')){
//do certain things
}
Run Code Online (Sandbox Code Playgroud) 在创建分类术语时,有一个名为"术语描述文本区域"的自定义描述框.有没有办法删除它?
我有一个网址,我希望用户使用 facebook sharer.php 分享
http://www.facebook.com/sharer.php?s=100&p[title]=$title>&p[summary]=$descp&p[images][0]=$image&p[url]=$url)
Run Code Online (Sandbox Code Playgroud)
其中$url 是我想分享的网址。我的网址结构如下
http://mydomain.com/index.php?variable1=value1&variable2=value2
...显然,在我的网址上遇到第一个“&”后,facebook 似乎删除了网址的其余部分。
解码 url 也无济于事。有没有办法可以传递完整的 url 加上其中的变量以与其余细节共享?
我这样做是为了渲染节点并将输出返回到AJAX调用并在页面上显示内联节点:
$node = node_load($nid);
$node_view = node_view($node);
echo drupal_render($node_view);
Run Code Online (Sandbox Code Playgroud)
我需要能够为用户配置文件执行相同的操作...它是否相似?