【问题标题】:Preserving the case of a title in ExpressionEngine?在 ExpressionEngine 中保留标题的大小写?
【发布时间】:2012-11-03 22:10:12
【问题描述】:

在 EE 1 下,我能够破解源代码以允许我保留标题的确切大小写的 url 标题。也就是说,我能够阻止它强制所有 url 标题为小写。

我需要在 EE 2 上复制相同的行为,但到目前为止我还没有完全管理。

到目前为止我所做的是:

In <system>/expressionengine/modules/channel/mod.channel_standalone.php:

commented out this line: NewText = NewText.toLowerCase();

added “A-Z” to this line: NewText = NewText.replace(/[^a-z0-9-_]/g,’‘);

In <system>/expressionengine/helpers/EE_url_helper.php:

removed strtolower() from this section:

  if ($lowercase === TRUE)
  {
  $str = strtolower($str);
  }

added “A-Z” to this line: [^a-z0-9\-\._]

我不确定是否真的需要所有这些更改,但我认为是的。看起来,对 mod.channel_standalone.php 的更改应该处理通过独立条目表单提交的任何提交,而对 EE_url_helper.php 的更改应该处理常规发布。

几乎可以,除了实时 URL。我输入标题时生成的 URL 以小写形式生成。但是,如果我在保存帖子之前将其删除,它会在 url 标题中以与标题相同的大小写保存帖子。至少,它在大多数情况下都是这样做的。有时,它确实会使用小写 url 保存。

如果有人能告诉我如何让实时 URL 标题也能合作,我将不胜感激。

【问题讨论】:

  • 那个 live url 标题是一个 javascript 的东西,有一个像样的文本编辑器,你可以搜索整个 EE 或主题目录。
  • 我一直在这样做,但肯定有什么我没有抓住。我已经查找了 a-z09、strtolower 和 NewText.toLowerCase 的实例,但我没有找到比上面看起来相关的实例更多的实例。我确实在 codeigniter 目录中找到了一些东西(另一个 url 辅助函数),但是编辑没有效果。如果它是由 javascript 完成的,是否有任何一种可以搜索的标准类?
  • 哦,哦,刚刚看到你也建议搜索主题。谢谢,我忽略了这一点。会检查!

标签: expressionengine


【解决方案1】:

这发生在themes/javascript/compressed/jquery/plugins/ee_url_title.js

由于 Javascript 被压缩,可能有点难找,但您要编辑的表达式是:a = (k + a).toLowerCase().replace(d, c);

【讨论】:

  • 谢谢。 :) 我看到在同一个脚本中,还有一节提到 a-z09 作为有效字符。我还应该在那里添加 A-Z 还是没有必要?
猜你喜欢
  • 2014-10-20
  • 1970-01-01
  • 2010-12-09
  • 2020-11-13
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 2010-12-20
  • 2010-10-21
相关资源
最近更新 更多