- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 OctoberCMS SEO 翻译插件 https://octobercms.com/plugin/anandpatel-seoextension它按照我的期望工作..但我有一个关于翻译插件的查询https://octobercms.com/plugin/rainlab-translate .请先看我的几张截图。
正如您在我上面的 2 个屏幕截图中看到的,在我应该创建或编辑博客的博客页面中,我无法为元标题、元描述、元关键字等进行翻译。
此外,在我的 CMS 页面中,我也无法使我的“元关键字”可翻译..
我试图将下面的代码放入我的一个事件插件的 Plugin.php
文件中,以便能够使我的博客“Meta Title”字段可翻译,但它也没有用..
\RainLab\Blog\Models\Post::extend(function($model) {
$model->translatable[] = 'seo_title';
});
也尝试了下面的代码..
\AnandPatel\SeoExtension\Models\BlogPost::extend(function($model) {
$model->translatable[] = 'seo_title';
});
有人可以指导我如何使这些字段可翻译吗?
最佳答案
我调试了一下,问题是
SEO Extension Plugin
is listening for\Event::listen('backend.form.extendFields' ...
and this event is fired afterbackend.form.extendFieldsBefore
so new added fields are not translatable.
backend.form.extendFieldsBefore
此事件负责将字段转换为 translatable
字段,因此在此事件之后添加的字段不会显示为 translatable
.
我计划纠正此行为 并为作者 repo 贡献 PR https://github.com/anand-patel/oc-seo-extension一旦我有空闲时间
Solution could be [ need to be done in plugin base code ] to use
backend.form.extendFieldsBefore
event inSEO Extension Plugin
and during extension of fields it need to directly work withraw config
, right now it uses$widget->addFields
so it has to remove that and directly injecting fields toconfig
so, later on newly added fields can be processed byRainLab.Translate Plugin
usingbackend.form.extendFieldsBefore
event.
So For now workaround 在您的自定义插件中添加已经支持跨国的字段,或者您可以再次使用 extendFieldsBefore
并使用 raw config
添加字段。
这里我们只使用简单的解决方案并添加具有可翻译字段类型的覆盖字段
use RainLab\Blog\Models\Post;
use Event;
use System\Classes\PluginManager;
public function register() {
Post::extend(function($post) {
if (!$post->propertyExists('translatable')) {
$post->addDynamicProperty('translatable', []);
}
$post->translatable = array_merge($post->translatable, ['seo_title', 'seo_description' /* so on ....*/]);
});
Event::listen('backend.form.extendFields', function($widget) {
if(PluginManager::instance()->hasPlugin('RainLab.Blog') && $widget->model instanceof \RainLab\Blog\Models\Post)
{
$widget->addFields([
'seo_title' => [
'label' => 'Meta Title',
'type' => 'mltext', //<- HERE
'tab' => 'SEO'
],
'seo_description' => [
'label' => 'Meta Description',
'type' => 'mltextarea', //<- HERE
'size' => 'tiny',
'tab' => 'SEO'
],
'seo_keywords' => [
'label' => 'Meta Keywords',
'type' => 'mltextarea', //<- HERE
'size' => 'tiny',
'tab' => 'SEO'
],
'canonical_url' => [
'label' => 'Canonical URL',
'type' => 'mltext', //<- HERE
'tab' => 'SEO',
'span' => 'left'
],
'redirect_url' => [
'label' => 'Redirect URL',
'type' => 'mltext', //<- HERE
'tab' => 'SEO',
'span' => 'right'
],
// ... so on
],
'secondary');
}
});
}
但这是标准解决方案的解决方法,我计划更正此问题并将 PR 推送给作者插件 repo 可能是 -> https://github.com/anand-patel/oc-seo-extension
如有任何疑问,请发表评论。
关于OctoberCMS 翻译插件与 SEO 插件不翻译 CMS 页面和博客的 SEO 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63787551/
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我基本上有三个环境用于在我的主站点上工作。我的计算机上有我的本地一个,而我的网络服务器上有开发和实时的。我在本地环境中使用 Wordpress 开发了该站点,并希望通过 svn 使所有内容保持最新。
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有 gatsby 博客,在我创建新帖子并构建静态文件后,将它们上传到我的主机上,每个用户都必须在我的博客上进行硬刷新才能看到更改。 上传新版本后如何在下次访问时自动刷新? 最佳答案 这种行为的另一个
我需要博客链接,以及涵盖 GroovyFx 的教程。我试过在谷歌上搜索它,我没有得到任何有用的教程。我需要从上到下全面覆盖 GroovyFx! 提前致谢。 最佳答案 您的意思是您想要全面覆盖的博客条目
我最近更换了计算机,并且不小心删除了所有源(Markdown 文件等)的本地版本。不管我怎么想,这一切都在 Github(我使用 GitHub 页面)中,所以我可以从那里开始。但是,我已经进入 Git
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
标题几乎说明了一切。博客在同一个帐户下。 Asked this question on Quora几乎没有回应。 我正在寻找一个网络应用程序,它可以自动执行该过程。如果那里还没有任何东西,我准备使用
在浏览一些关于 Java 反射和泛型的 Jakov Jenkov 博客时,我发现了以下段落: When runtime inspecting a parameterizable type itself
我进退两难:我已经做了rake deploy我的 Octopress 博客运行良好。文档说我必须再做 3 个步骤: git add . git commit -m 'message' git push
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我尝试了几种方法,但似乎无法完成其中的每一部分。我为某人制作了一个 wordpress 博客,她对此很满意,但最近想要更改标题。我把它放宽了,她想要它装箱/居中。基本上,标题包含 Logo 、导航和左
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我已经尝试在我的网络服务器上安装 Ghost.io 有一段时间了。我有一个带有 Centos 6 和 Cpanel 的 VPS。 今天我在 http://www.allaboutghost.com/o
这里我有一个网站,tinywolf.uk,我目前正在使用它。主页是一个独立于 wordpress 的静态网站,但网站的博客部分 http://www.tinywolf.uk/blog将由 wordpr
我是 Django Web 开发的半菜鸟。我已经成功添加了一个文件字段,实际上允许我将图像上传到帖子中(图像显示在帖子列表和帖子详细信息中),但是如果我想在帖子中添加多个图像该怎么办? 我目前正在撰写
我特别想了解 Web 开发和 Windows azure。我认为为个人网站创建一个博客应用程序将是一个很好且简单的项目来实现这一目标。 有谁知道演练/教程可以帮助我走上这条路,或者更好地涵盖这个确切的
我遇到了一个小问题,因为我目前正在尝试以编程方式同时登录两个 wordpress 博客。我有一个自定义登录页面,必须为两个 wordpress 博客创建 session 。一个博客工作得很好,但因为我
我是一名优秀的程序员,十分优秀!