虽然自D4系列以来我一直在使用drupal,但我只是开始使用D6进行专业开发,所以 - 尽管我进行了各种站点升级 - 但我从未遇到过必须将自己的代码移植到新版本的任务.
我知道Drupal社区会想出很多关于改变API和体系结构的变化(见技术支持朽木模块为D5,D6,甚至这些D6-D7的存根怎么对的对模块 和主题).
然而,我正在寻找的问题更多的是在战略思考方面,或者换句话说,我正在寻找关于如何计划/实施/审查移植我自己的代码的过程的投入和建议,同事开发者通过以往的经验学到了什么.一些例子:
这些问题并不是一个详尽的列表,但我希望他们能够了解我正在寻找什么样的信息.我宁愿说:无论你认为什么是相关的,我没有在上面列出获得"加"!:)
如果我没有表现得足够清楚,请发表您认为我应该在问题中添加的信息的评论.提前谢谢您的时间!
PS:是的我知道...... D7还没有出来,重要的贡献模块升级需要几个月......但是开始思考永远不会太早!:)
我正在尝试为MySQL和共享主机所需的资源设置理想的性能设置.
我的问题是,max_connections真正意味着什么?
它是对服务器进行的唯一并发请求的数量吗?因此,如果有两个用户,1个打开1个选项卡,另一个打开4个选项卡...并且同时按下所有选项卡重新加载,是否会有5个连接到MySQL数据库?因此,如果我们将这个场景推向:10个人有2个标签,31个人有一个标签,所有人同时按下刷新...我们max_connections在50岁时,每个人都会被锁定吗?
我问的原因是因为我max_connections一直认为该网站进入CPU限制模式,因此我想用低保护率来保存内存资源
谢谢您的帮助
我正在检查Drupal 8并尝试根据文章的节点ID生成链接.在Drupal 7中它是这样的:
$options = array('absolute' => TRUE);
$nid = 1; // Node ID
$url = url('node/' . $nid, $options);
Run Code Online (Sandbox Code Playgroud)
这导致与正确的url-alias的绝对链接.
所以url() - 函数似乎已被弃用; 什么是Drupal-8方式?对我来说看起来像一个非常基本的功能,但我找不到任何有用的参考.
我使用的是CentOS 5.5 Linux(没有X),PHP 5.3和Drupal 7.0.
我网站的核心语言是俄语(不是英语)!
我创建了一个game.info和以下game.module,为首页生成3个块:
function game_block_info() {
return array(
'game_main' => array(
'info' => t('Set FlashVars and show the flash game.'),
'cache' => DRUPAL_NO_CACHE,
),
'game_winner' => array(
'info' => t('Show the winner of the last week.'),
'cache' => DRUPAL_NO_CACHE,
),
'game_leader' => array(
'info' => t('Show the leader of the current week.'),
'cache' => DRUPAL_NO_CACHE,
);
}
function game_block_view($block_name = '') {
global $user;
if ($block_name == 'game_main') {
if (user_is_logged_in()) { …Run Code Online (Sandbox Code Playgroud) 我知道我可以做类似的事情<input name="foo[]">,但有可能做出类似的事情<input name="foo[bar]">并让它出现在PHP中$_POST['foo']['bar']吗?
我问的原因是因为我正在制作一个包含<select>多个表单元素的巨大表格(包括多个选项),并且我希望将我的数据清晰地组织在我正在发布的脚本中.我希望每列中的输入元素具有相同的基本名称,但是不同的行标识符作为数组键.那有意义吗?
编辑:我已经尝试过这个,但显然Drupal干扰了我正在尝试做的事情.我以为我的语法错了.萤火告诉我,我的名字输入构造完全一样,但我的数据回来为[foo[bar]] => data,而不是[foo] => array([bar] => data).
编辑2:似乎我的真正问题是我的假设,$form_state['values']在Drupal中将具有相同的数组层次结构$_POST.我永远不应该认为Drupal会那么合理和直观.我为浪费你的时间而道歉.你可以开展你的业务.
我想对已经通过该.htaccess文件在Apache服务器上压缩的一些媒体文件禁用gzip压缩.
原因:因为它写在例如jPlayer的网站上,应该禁用媒体文件的gzip编码:"媒体文件已经被压缩,GZIP只会在你的服务器上浪费CPU.如果你GZIP媒体,Adobe Flash插件会遇到问题."
我目前遇到的问题Content-Length是,当启用gzip时未正确设置标头 - 所以当使用SoundManager2播放器播放一些mp3文件时,音轨的长度进度条不能正常工作(所以也许这就是他们讲述的问题jPlayer的网站).
我可以测试是否在这里为gzip提供内容.
我有mod_deflate,mod_mime并且mod_rewrite在服务器上启用了模块.
根据phpinfo(),这里是所有已加载模块的列表:
core mod_log_config mod_logio itk http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav mod_dav_svn mod_authz_svn mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status
Run Code Online (Sandbox Code Playgroud)
我正在使用Drupal 6,所以我已经有了一个RewriteRule,它是以下内容:
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule …Run Code Online (Sandbox Code Playgroud) 我在GitLab服务器上有一个私有存储库,使用SSH我可以使用git clone拉一个项目.
但我想直接从服务器上运行linux命令行上的脚本(更具体地说,Drupal/Drush .make文件)
我试图使用原始文件运行它:
drush make http://server.com/user/project/raw/master/file.make
Run Code Online (Sandbox Code Playgroud)
(为了方便非Drupal用户,让我们说)
curl http://server.com/user/project/raw/master/file.make
Run Code Online (Sandbox Code Playgroud)
没有成功.当然,它会返回登录页面.
可能吗?
我试图检索URL和标题一个值链接字段中的Drupal 8.
在我的自定义控制器中,我检索节点:
$storage = \Drupal::entityManager()->getStorage('node');
$nids = $storage->getQuery()
->condition('type', 'partners')
->condition('status', 1)
->execute();
$partners = $storage->loadMultiple($nids);
Run Code Online (Sandbox Code Playgroud)
当我循环遍历所有节点时,为了预处理变量,我将提供给我的视图,我想检索URL和标题.
foreach ($partners as $key => $partner) {
$variables['partners'][] = array(
'image' => $partner->field_logo->entity->url(),
'url' => $partner->field_link->value, // Can't retrieve values of link field
);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有找到如何检索URL和标题的FIELD_LINK.
谢谢你的帮助.
我想用drush.它需要在drupal容器中运行.还有一个潜水码头回购.但我不知道如何在drupal容器中使它可用.这是我的第一个docker和drupal项目,所以也许我的事情完全错了.
如何使用这个drupal docker图像进行drush? https://hub.docker.com/_/drupal/ 是否可以使用docker-compose进行管理?也许扩展drupal容器?
这是我的docker-compose.yml:
mysql:
image: mysql:5.5
ports:
- "3306:3306"
environment:
- MYSQL_USER=xxxxx
- MYSQL_PASSWORD=xxxxxx
- MYSQL_ROOT_PASSWORD=xxxxxx
- MYSQL_DATABASE=xxxxxx
drupal:
image: drupal:8.0.4
links:
- mysql
ports:
- "8080:80"
Run Code Online (Sandbox Code Playgroud)