标签: drupal

如何在Drupal 6中存储和检索自定义会话变量?

Drupal使用自定义会话处理程序来更改熟悉的...:

$_SESSION['foo'] = 'bar';
echo $_SESSION['foo'];

...行为.上面的会话变量"foo"不会在页面之间持续存在.

Drupal.com上的许多评论和论坛条目引发了Drupal出于性能原因和服务器群集支持而使用自定义会话处理程序的问题.但是,我没有找到回答问题的具体示例 - "需要在Drupal中跨页面管理自己的会话变量而不想使用cookie?这是你如何做到的......"

有任何人对此有经验吗?我的用法不在外部Drupal页面内,而是在模板页面本身内.这适用于匿名用户,而不是登录用户.在这种情况下,$ _SESSION行为与预期一致.

php session drupal

12
推荐指数
1
解决办法
1万
查看次数

为什么'#weight'属性有时在Drupal表单中没有任何影响?

我正在尝试为自定义类型创建节点表单.我启用了有机组和分类法,但希望它们的元素以非标准顺序出现.所以我已经实现hook_form_alter并将子数组的#weight属性设置og_nodeapi为-1000,但它仍然在分类和菜单之后.我甚至尝试将子阵列更改为字段集(强制实际渲染),但没有骰子.我也尝试过设置

$form['taxonomy']['#weight'] = 1000 
Run Code Online (Sandbox Code Playgroud)

(我有两个词汇,所以它已经被渲染为一个字段集),但这也没有用.

我将模块的权重设置得非常高,并在系统表中确认它确实是网站上最高的模块 - 所以我完全没有想法.有什么建议?

更新:

虽然我不确定如何,但我确实设法让分类法字段集低于其他一切,但现在我有一个相关的问题,希望更容易理解.在分类法字段集中,我有两个项目(标签和多选),我想在hook_form_alter中添加一些指令,如下所示:

$form['taxonomy']['instructions'] = array(
  '#value' => "These are the instructions",
  '#weight' => -1,
);
Run Code Online (Sandbox Code Playgroud)

你猜对了,这出现分类模块插入的术语之后.但是,如果我将其更改为字段集:

$form['taxonomy']['instructions'] = array(
  '#type' => 'fieldset', // <-- here
  '#title' => 'Instructions',  // <-- and here for good measure
  '#value' => "These are the instructions",
  '#weight' => -1,
);
Run Code Online (Sandbox Code Playgroud)

然后它像我想要的那样神奇地漂浮到顶端.我也试过textarea(这也有效)并明确地说标记(这没有).

所以基本上,将类型从"标记"(默认的IIRC)更改为"fieldset"具有不再忽略其权重的效果.

forms drupal

12
推荐指数
1
解决办法
1万
查看次数

如何完全禁用缓存?

Drupal 6的缓存可以设置为禁用,正常或激进.我找不到Drupal 7安装的这些选项.只有一个按钮可以刷新所有缓存,但是对于我对模块或模板所做的每个更改都必须单击它.通过更改,我的意思是将一些HTML标记添加到模块或模板.

感谢mirzu的回应,我已经安装了devel模块,但它也不起作用.我这样看到我的更改的唯一方法是禁用和启用模块.

hello.module看起来像:

function annotate_menu() {
  $items = array();
  $items['hello'] = array(
    'title'            => t('Hello world'),
    'page callback'    => 'hello_output',
    'access arguments' => array('access content'),
  );

  return $items;
}

function hello_output() {
  header('Content-type: text/plain; charset=UTF-8');
  header('Content-Disposition: inline');
  return 'annotate';
}
Run Code Online (Sandbox Code Playgroud)

模板page-hello.tpl.php包含print $content;.

我通过访问该页面http://localhost/test/hello.

drupal drupal-7

12
推荐指数
2
解决办法
3万
查看次数

Tinymce图像自动包装在<p>标签中.CSS方式或文本编辑器黑客攻击

Hiya,
我现在多次遇到这个问题使用drupal或wordpress,我的tinymce配置文件有点过于巧妙抽象.

问题是tinymce会自动将我的<img>标签包装在<p>标签中.如果在Wordpress或Drupal中有这种方法,这将是非常棒的.

当我想做这样的事情时,我的问题就存在了

<style>
    img {
        float: left;
    }
    p {
        float: right;
        margin-right: 20px;
        width: 400px;
    }
 </style>
Run Code Online (Sandbox Code Playgroud)

我希望我的代码看起来像这样

<img src="some_png.png" />
<p> Imagine a lot of lipsum text.</p>
Run Code Online (Sandbox Code Playgroud)

但是tinymce这样做

<p><img src="crap_im_wrapped_in_a_paragraph.png" /></p>
<p> Imagine a lot of lipsum text.</p>
Run Code Online (Sandbox Code Playgroud)

我试图将图像浮动到具有设定宽度的段落的左侧,而不对图像本身施加宽度限制.
在这种情况下,图像的父级然后获得宽度和向右浮动.那不是我想要的.

很可能有一个简单聪明的解决方案,但我仍然没有找到一个.如果我不需要,我宁愿不破解我的配置文件.

1警告...
存在这个问题的唯一原因是因为我希望客户能够轻松地进行自己的编辑,所以我不会让它们将图像包装成一个<div>而不是一个<p>.对于我的客户来说,这似乎是不直观的,他们是真实用户的真实用户

以前的解决方案
我一直在使用正则表达式删除段落标记,但它总是有点问题.我最终在其他地方添加了更多图像,然后我必须不断调整我的正则表达式来忽略它们.502错误比比皆是!

我的问题是(是)
我可以在CSS中使段落中包含的图像做我想做的事情吗?
如果我不能,我可以
做什么drupal或wordpress使该段消失?

- 编辑 - 解决方案需要与IE7 +和现代浏览器兼容.:P

谢谢!
亚伦

css wordpress drupal tinymce

12
推荐指数
2
解决办法
9076
查看次数

你怎么从drupal 7 Ajax链接中删除throbber?

我们使用drupal 7 ajax框架来加载页面上的内容.单击链接时,在处理请求时,会在链接后显示响铃.

我找不到有关如何设置或删除throbber的文档.在一个表单中它看起来很简单,但使用ajax链接和回调菜单项我找不到任何文档.

我看到有一个$ settings变量可以传递给ajax_command_html函数,但我没有看到任何关于如何格式化的文档.

ajax drupal drupal-7

12
推荐指数
2
解决办法
1万
查看次数

身份验证错误:无法应对任何这些挑战:{} Android - 401未经授权

身份验证错误:无法应对任何这些挑战:{} Android - 401未经授权

在Android上使用带有DefaultHttpClient的HttpPost时,我已经从此链接验证错误中引用了参考

我正在使用Drupal支持的Android应用程序.在那里我将数据从Android应用程序发送到drupal网站 - 以JSON格式的webservice.现在我可以从Drupal webservice读取JSON数据并将其写入我的android应用程序中.但是面对来自android的drupal的写作问题,它会生成带有状态代码的响应

401未经授权

从Android原生应用程序它生成401,而从phonegap-从Android启动AJAX请求它​​完美工作并在drupal网站上写一篇文章或页面.这意味着网络服务工作完美

我的phonegap Android应用程序工作完美有Android本机JAVA应用程序的问题我在Android2.3.4上运行我的Android应用程序 - >三星Galaxy S Plus - 三星GT-I9001

这是我的java android代码.

==============================

String url = "XXX";
strResponse1 = makeWebForPostIdea(url,title,body);

public static String makeWebForPostIdea(String url, String title,String body)
    {
        JSONStringer jsonobject = null;
        JSONObject json = null;
        JSONObject jsonnode = null;

        DefaultHttpClient client = new DefaultHttpClient();

Credentials creds = new UsernamePasswordCredentials("username", "password");
        client.getCredentialsProvider().setCredentials(new       AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), creds);
 HttpPost post = new HttpPost(url);
System.out.println("value of the post =============> "+post);
 try …
Run Code Online (Sandbox Code Playgroud)

java android json drupal httprequest

12
推荐指数
1
解决办法
2万
查看次数

drupal:表单API,根据输入动态隐藏或显示字段

我正在构建一个表单模块.其中一个早期字段是一组单选按钮.默认情况下,选择第一个按钮.接下来我将有一系列选择框.一个人需要看得见,其他人看不见.然后,当用户选择不同的单选按钮时,我希望显示或隐藏不同的选择框.如何在默认情况下隐藏字段和标签,并在以后根据选择哪个单选按钮(或其他选择框选项)显示它?

php drupal drupal-7 drupal-fapi drupal-forms

12
推荐指数
2
解决办法
1万
查看次数

Drupal View过滤器中的OR运算符

我需要在Drupal View中的某些过滤器之间实现OR运算符.默认情况下,Drupal AND的每个过滤器都在一起.

通过使用

hook_views_query_alter(&$view, &$query)
Run Code Online (Sandbox Code Playgroud)

我可以访问查询(var $ query),我可以更改:

$query->where[0]['type'] 
Run Code Online (Sandbox Code Playgroud)

'或',或

$query->group_operator 
Run Code Online (Sandbox Code Playgroud)

'OR'

但问题是,我到处都不需要OR.我已经尝试将它们分别更改为OR,并且它不会产生所需的结果.

它似乎改变了这些值,把OR放在任何地方,而我需要=>(滤波器1和滤波器2)或(滤波器3),所以只需1或.

我可以检查View的查询,复制它,修改它,然后通过db_query运行它,但那只是脏的..

有什么建议 ?

Thx提前.

drupal drupal-views

11
推荐指数
3
解决办法
2万
查看次数

将代码安装到Aptana Studio独立版本的正确方法是什么?

我跟着本指南Eclipse的集成上的Drupal: https://drupal.org/node/1420004

我试图安装PTI插件集锦(的Aptana Studio的3,打造:3.4.1.201306062137,Eclipse平台版本:3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-Q),但得到了很多要求,缺少的错误.然后,我让Eclipse的靛蓝更新网站(http://download.eclipse.org/releases/indigo在我的Aptana),并成功地安装了这个时候.

然后我这样配置:

在此输入图像描述

但它只是不起作用!

我已经安装了PHP codesniffer和梨库,它完全在命令行,和git预先承诺挂钩,但我不能得到它的Aptana工作.即使我右键点击一个文件时,PHP Codesniffer是灰色的,无法点击.

我想知道在Aptana Studio中安装codeniffer的正确方法是什么?

php aptana drupal codesniffer aptana3

11
推荐指数
1
解决办法
971
查看次数

Nginx配置:如果没有提供ssl_client_certificate,如何使用auth_basic身份验证?

我正在尝试按如下方式设置Nginx服务器:

首先,服务器应检查用户是否提供客户端SSL证书(通过ssl_client_certificate).如果提供了SSL证书,则允许访问该站点,

如果未提供SSL证书,请要求用户输入密码并通过auth_basic登录.

我可以配置两个身份验证方法在同一时间.但这个配置是多余的.

要检查,用户是否提供其SSL证书,我尝试这样的配置:

18:    if ($ssl_client_verify != SUCCESS) {
19:        auth_basic "Please login";
20:        auth_basic_user_file .passfile;
21:    }
Run Code Online (Sandbox Code Playgroud)

但Nginx返回错误:

这里不允许使用"auth_basic"指令.../ssl.conf:19

在这种情况下如何设置条件?

authentication drupal config nginx

11
推荐指数
1
解决办法
7538
查看次数