Как настроить базовый плагин Locomotive CMS

Вопрос состоит из 1000 слов, но я в основном хочу создать плагин Locomotive CMS, и я застрял в основах. Что не очень хорошая вещь.

Я следовал инструкциям этого драгоценного камня, потому что это единственная ссылка, которую я смог найти: https://github.com/colibri-software/locomotive_plugins

я добавил locomotive_plugins в мой гемфайл. Я сделал файл под названием 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 и установил драгоценный камень и добавил этот драгоценный камень к 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 ответ

Во-первых, линия

LocomotivePlugins::register_plugin(LocomotiveTestPlugin, "test_plugin")

не нужен Это из старой версии плагинов. Что касается вашей проблемы, вы включили плагин на своем сайте? Вам нужно перейти на страницу настроек, там есть свернутый раздел под названием Плагины, под которым должна быть запись с флажком. Убедитесь, что этот флажок установлен.

Если запись не отображается, то плагин загружается неправильно. Убедитесь, что ваш код загружается, когда вы запускаете сервер (добавьте команду print stmt вверху).

Другие вопросы по тегам