如何设置基本的机车CMS插件

时间:2013-06-28 14:48:24

标签: ruby-on-rails ruby locomotivecms

问题是1000字,但我基本上想要做的是建立一个机车CMS插件,我坚持基础。这不是一件好事。

我已按照此宝石的说明进行操作,因为它是我能找到的唯一参考资料: https://github.com/colibri-software/locomotive_plugins

我已将locomotive_plugins添加到我的gemfile中。我创建了一个名为locomotive_test_plugin.rb的文件并将其放在我的lib文件夹中(我发现这是一个合理的位置来放置这个文件,因为它在gem指令中没有说清楚)。我确实将lib文件夹添加到config.autoload_paths中的application.rb。而且我希望它会起作用

locomotive_test_plugin.rb看起来像

class LocomotiveTestPlugin
  include Locomotive::Plugin

  def initialize_plugin
    # Custom initialization code
  end

  def to_liquid
    {:test => "test"}
  end
end

LocomotivePlugins::register_plugin(LocomotiveTestPlugin, "test_plugin")

事实证明它没有。我还制作了一个名为gem的自定义locomotive_test_plugin并安装了gem并将该gem添加到Gemfile中,如:

source 'https://rubygems.org'

gem 'locomotive_cms', '~> 2.0.1', :require => 'locomotive/engine'
gem 'locomotive_plugins'

group :assets do
  gem 'compass-rails',  '~> 1.0.2'
  gem 'sass-rails',     '~> 3.2.4'
  gem 'coffee-rails',   '~> 3.2.2'
  gem 'uglifier',       '~> 1.2.4'

  # If you run your engine on **Linux,** you also have to add the following gem
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby
end

group :development do
  gem 'unicorn'
end

group(:locomotive_plugins) do
  gem 'locomotive_test_plugin'
end

根据宝石,我现在可以编辑CMS中的任何页面并添加以下液体代码:

{{ plugins.test_plugin.test }}

我希望输出是'测试',但它没有显示任何内容。它也不会显示任何错误,如'找不到插件'或类似的东西。

如果有人建议,我已经重新启动了本地服务器。

但是在这个过程中我哪里出错了 - 任何人都可以在这个问题上给我启发。

1 个答案:

答案 0 :(得分:2)

首先,行

LocomotivePlugins::register_plugin(LocomotiveTestPlugin, "test_plugin")

不需要。这是来自旧版本的插件。至于你的问题,你有没有在你的网站上插入插件?您需要转到“设置”页面,有一个名为“插件”的折叠部分,其下方应该有一个带复选框的条目。确保选中该框。

如果条目没有显示,则插件未正确加载。确保在启动服务器时加载代码(在顶部添加打印文件)。