Landing Pages Plugin šŸ›©

This is a red herring. It’s a warning, not a fatal error. It is irrelevant to the issue you’re seeing.

1 Like

Thanks @RGJ and @nathank.

I was not able to successfully pull from GitHub despite testing the connection without issue.

I ended up putting some theme files in a web accessible directory and using the admin Page body html.erb input which works well despite the other difficulties.

I’m trying to use the Landing Pages plugin by Pavilion to create a custom HTML page. My goal is to have this page display with my forum’s native Discourse header and footer, not as a blank standalone page.

I also have the companion ā€œHome Pagesā€ theme component installed, as I understand this is required to ā€œwrapā€ the page in the forum layout.

I’ve created my content successfully in the Landing Pages plugin (e.g., at path /mypage), but I am completely stuck on how to configure the ā€œHome Pagesā€ component.

The Homepages components setting has a ā€œLaunch Editorā€ that is very complex. I’m not sure what to enter to simply ā€œpull inā€ my landing page and add the native layout.

Could someone please provide a guide on how to configure this for a simple HTML page?

Thank you!

1 Like

I don’t know if this is relevant, but when I open the Inspector, I get error messages, even though I’m not using the plugin at all. Maybe this can help the developer understand if something needs to be fixed?

Summary
deprecated.js:49 DEPRECATION NOTICE: Looking up 'route:admin-plugins-landing-pages' is no longer permitted. Rename to 'route:admin-plugins/landing-pages' instead [deprecation id: discourse.deprecated-resolver-normalization]
a @ deprecated.js:49
_normalize @ resolver.js:234
normalize @ index.js:205
normalizeFullName @ registry-BJpQx6hv.js:606
normalizeFullName @ registry-BJpQx6hv.js:608
normalize @ registry-BJpQx6hv.js:622
lookup @ registry-BJpQx6hv.js:131
lookup @ container_proxy.js:27
getRoute @ router.js:252
i @ index.ts:121
fetchRoute @ router-BViwI_oJ.js:260
get route @ router-BViwI_oJ.js:194
_getQPMeta @ router.js:913
_getQPMeta @ index.ts:101
_hydrateUnsuppliedQueryParams @ router.js:1018
_prepareQueryParams @ router.js:897
normalizeQueryParams @ routing-service.js:57
_generateURL @ routing-service.js:63
generateURL @ routing-service.js:71
get href @ index-BCp6wOJU.js:929
eM @ cache-fCezwMOy.js:1647
(anonymous) @ index.js:87
(anonymous) @ index.js:64
X @ index.js:416
k @ index.js:62
en @ index.js:1112
flush @ index.js:1089
(anonymous) @ index.js:665
evaluate @ index.js:103
evaluateSyscall @ index.js:2873
evaluateInner @ index.js:2852
evaluateOuter @ index.js:2849
next @ index.js:4167
_execute @ index.js:4157
execute @ index.js:4133
handleException @ index.js:3450
handleException @ index.js:3592
throw @ index.js:3414
evaluate @ index.js:565
_execute @ index.js:3401
execute @ index.js:3393
rerender @ index.js:3610
(anonymous) @ index-BCp6wOJU.js:4639
(anonymous) @ index-BCp6wOJU.js:4934
eX @ index.js:2414
_renderRoots @ index-BCp6wOJU.js:4914
_renderRootsTransaction @ index-BCp6wOJU.js:4962
_revalidate @ index-BCp6wOJU.js:4995
invoke @ index.js:262
flush @ index.js:180
flush @ index.js:334
_end @ index.js:762
(anonymous) @ index.js:499
Promise.then
(anonymous) @ index.js:18
flush @ index.js:29
_scheduleAutorun @ index.js:928
_end @ index.js:768
(anonymous) @ index.js:499
Show 54 more frames
Show less
deprecated.js:49 DEPRECATION NOTICE: Looking up 'controller:admin-plugins-landing-pages' is no longer permitted. Rename to 'controller:admin-plugins/landing-pages' instead [deprecation id: discourse.deprecated-resolver-normalization]
a @ deprecated.js:49
_normalize @ resolver.js:234
normalize @ index.js:205
normalizeFullName @ registry-BJpQx6hv.js:606
normalizeFullName @ registry-BJpQx6hv.js:608
normalize @ registry-BJpQx6hv.js:622
lookup @ registry-BJpQx6hv.js:131
lookup @ container_proxy.js:27
get _qp @ route.js:1147
(anonymous) @ cache-fCezwMOy.js:1092
Z @ index.js:430
get @ cache-fCezwMOy.js:1091
get @ cache-fCezwMOy.js:240
eM @ cache-fCezwMOy.js:1647
eA @ cache-fCezwMOy.js:1636
_getQPMeta @ router.js:914
_getQPMeta @ index.ts:101
_hydrateUnsuppliedQueryParams @ router.js:1018
_prepareQueryParams @ router.js:897
normalizeQueryParams @ routing-service.js:57
_generateURL @ routing-service.js:63
generateURL @ routing-service.js:71
get href @ index-BCp6wOJU.js:929
eM @ cache-fCezwMOy.js:1647
(anonymous) @ index.js:87
(anonymous) @ index.js:64
X @ index.js:416
k @ index.js:62
en @ index.js:1112
flush @ index.js:1089
(anonymous) @ index.js:665
evaluate @ index.js:103
evaluateSyscall @ index.js:2873
evaluateInner @ index.js:2852
evaluateOuter @ index.js:2849
next @ index.js:4167
_execute @ index.js:4157
execute @ index.js:4133
handleException @ index.js:3450
handleException @ index.js:3592
throw @ index.js:3414
evaluate @ index.js:565
_execute @ index.js:3401
execute @ index.js:3393
rerender @ index.js:3610
(anonymous) @ index-BCp6wOJU.js:4639
(anonymous) @ index-BCp6wOJU.js:4934
eX @ index.js:2414
_renderRoots @ index-BCp6wOJU.js:4914
_renderRootsTransaction @ index-BCp6wOJU.js:4962
_revalidate @ index-BCp6wOJU.js:4995
invoke @ index.js:262
flush @ index.js:180
flush @ index.js:334
_end @ index.js:762
(anonymous) @ index.js:499
Promise.then
(anonymous) @ index.js:18
flush @ index.js:29
_scheduleAutorun @ index.js:928
_end @ index.js:768
(anonymous) @ index.js:499
Show 58 more frames
Show less
deprecation-identify-source.js:15 DEPRECATION: [PLUGIN discourse-landing-pages] Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
(anonymous) @ deprecate.js:72
(anonymous) @ handlers.js:10
(anonymous) @ deprecate.js:108
(anonymous) @ handlers.js:10
(anonymous) @ deprecate.js:116
(anonymous) @ handlers.js:10
(anonymous) @ index.js:75
(anonymous) @ index.js:110
(anonymous) @ handlers.js:10
(anonymous) @ index.js:115
(anonymous) @ handlers.js:10
(anonymous) @ deprecation-identify-source.js:15
(anonymous) @ handlers.js:10
(anonymous) @ deprecation-this-property-fallback-handler.js:15
(anonymous) @ handlers.js:10
(anonymous) @ deprecation-warning-handler.js:19
(anonymous) @ handlers.js:10
s @ deprecated.js:132
(anonymous) @ handlers.js:10
r @ handlers.js:19
l @ deprecate.js:189
k @ index.js:31
p @ index.js:126
o @ index.js:31
(anonymous) @ admin-plugins-landing-pages.js:13
(anonymous) @ loader.js:106
requireModule @ loader.js:27
get @ index.js:15
_extractDefaultExport @ index.js:469
resolveOther @ index.js:183
resolve @ index.js:222
resolve @ registry-BJpQx6hv.js:795
resolve @ registry-BJpQx6hv.js:571
u @ registry-BJpQx6hv.js:245
(anonymous) @ registry-BJpQx6hv.js:284
lookup @ registry-BJpQx6hv.js:239
lookup @ container_proxy.js:27
get _qp @ route.js:1147
(anonymous) @ cache-fCezwMOy.js:1092
Z @ index.js:430
get @ cache-fCezwMOy.js:1091
get @ cache-fCezwMOy.js:240
eM @ cache-fCezwMOy.js:1647
eA @ cache-fCezwMOy.js:1636
_getQPMeta @ router.js:914
_getQPMeta @ index.ts:101
_hydrateUnsuppliedQueryParams @ router.js:1018
_prepareQueryParams @ router.js:897
normalizeQueryParams @ routing-service.js:57
_generateURL @ routing-service.js:63
generateURL @ routing-service.js:71
get href @ index-BCp6wOJU.js:929
eM @ cache-fCezwMOy.js:1647
(anonymous) @ index.js:87
(anonymous) @ index.js:64
X @ index.js:416
k @ index.js:62
en @ index.js:1112
flush @ index.js:1089
(anonymous) @ index.js:665
evaluate @ index.js:103
evaluateSyscall @ index.js:2873
evaluateInner @ index.js:2852
evaluateOuter @ index.js:2849
next @ index.js:4167
_execute @ index.js:4157
execute @ index.js:4133
handleException @ index.js:3450
handleException @ index.js:3592
throw @ index.js:3414
evaluate @ index.js:565
_execute @ index.js:3401
execute @ index.js:3393
rerender @ index.js:3610
(anonymous) @ index-BCp6wOJU.js:4639
(anonymous) @ index-BCp6wOJU.js:4934
eX @ index.js:2414
_renderRoots @ index-BCp6wOJU.js:4914
_renderRootsTransaction @ index-BCp6wOJU.js:4962
_revalidate @ index-BCp6wOJU.js:4995
invoke @ index.js:262
flush @ index.js:180
flush @ index.js:334
_end @ index.js:762
(anonymous) @ index.js:499
Promise.then
(anonymous) @ index.js:18
flush @ index.js:29
_scheduleAutorun @ index.js:928
_end @ index.js:768
(anonymous) @ index.js:499
Show 82 more frames
Show less

i get an error. needs updating. [Admin Notice] Plugin ā€˜discourse-landing-pages’ contains code which needs updating. (id:discourse.resolver-resolutions)

In case there’s still interest in the plugin, I pushed an update to make it compatible with the current Discourse stable version (2026.1). It’ll be available once the changes are reviewed and approved (although I’m not sure if @angus or @merefield are still around for this).

2 Likes

thank you … I’ve added some comments and so has :robot: :slight_smile:

1 Like

thanks @cabidop , I’ve contributed to your welcome PR and the result has been merged:

https://github.com/paviliondev/discourse-landing-pages/pull/43

NB I’ve created an esr branch so we can support latest on main, but they are both currently identical.

7 Likes

Hi all, love this plugin! But the plugin is not working correctly after update to Discourse v2026.6.0-latest, plugin is also latest verison 5b1893f4. The landingpage the loaded fine now gives a 500 error. Anyone can help?

2 Likes

Can you share the 500 error and also the backtrace?

Screenshot of the page (https://club.haekelfans.de/danke-mitgliedschaft):

Backtrace:

plugins/discourse-landing-pages/app/views/layouts/landing.html.erb:28

actionview (8.0.5) lib/action_view/base.rb:278:in 'Kernel#public_send'

actionview (8.0.5) lib/action_view/base.rb:278:in 'ActionView::Base#_run'

actionview (8.0.5) lib/action_view/template.rb:284:in 'block in ActionView::Template#render'

activesupport (8.0.5) lib/active_support/notifications.rb:212:in 'ActiveSupport::Notifications.instrument'

actionview (8.0.5) lib/action_view/template.rb:589:in 'ActionView::Template#instrument_render_template'

actionview (8.0.5) lib/action_view/template.rb:272:in 'ActionView::Template#render'

rack-mini-profiler (4.0.1) lib/mini_profiler/profiling_methods.rb:90:in 'block in ActionView::Template#profile_method' 

actionview (8.0.5) lib/action_view/renderer/template_renderer.rb:77:in 'block in ActionView::TemplateRenderer#render_with_layout'

activesupport (8.0.5) lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'

activesupport (8.0.5) lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'

activesupport (8.0.5) lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'

actionview (8.0.5) lib/action_view/renderer/template_renderer.rb:75:in 'ActionView::TemplateRenderer#render_with_layout'

actionview (8.0.5) lib/action_view/renderer/template_renderer.rb:59:in 'ActionView::TemplateRenderer#render_template'

actionview (8.0.5) lib/action_view/renderer/template_renderer.rb:11:in 'ActionView::TemplateRenderer#render'

actionview (8.0.5) lib/action_view/renderer/renderer.rb:58:in 'ActionView::Renderer#render_template_to_object'

actionview (8.0.5) lib/action_view/renderer/renderer.rb:31:in 'ActionView::Renderer#render_to_object'

actionview (8.0.5) lib/action_view/rendering.rb:136:in 'block in ActionView::Rendering#_render_template'

actionview (8.0.5) lib/action_view/base.rb:305:in 'ActionView::Base#in_rendering_context'

actionview (8.0.5) lib/action_view/rendering.rb:135:in 'ActionView::Rendering#_render_template'

actionpack (8.0.5) lib/action_controller/metal/streaming.rb:179:in 'ActionController::Streaming#_render_template'

actionview (8.0.5) lib/action_view/rendering.rb:122:in 'ActionView::Rendering#render_to_body'

actionpack (8.0.5) lib/action_controller/metal/rendering.rb:186:in 'ActionController::Rendering#render_to_body'

actionpack (8.0.5) lib/action_controller/metal/renderers.rb:140:in 'ActionController::Renderers#render_to_body'

actionpack (8.0.5) lib/abstract_controller/rendering.rb:28:in 'AbstractController::Rendering#render'

actionpack (8.0.5) lib/action_controller/metal/rendering.rb:167:in 'ActionController::Rendering#render'

actionpack (8.0.5) lib/action_controller/metal/instrumentation.rb:31:in 'block (2 levels) in ActionController::Instrumentation#render'

activesupport (8.0.5) lib/active_support/benchmark.rb:17:in 'ActiveSupport::Benchmark.realtime'

actionpack (8.0.5) lib/action_controller/metal/instrumentation.rb:31:in 'block in ActionController::Instrumentation#render'

actionpack (8.0.5) lib/action_controller/metal/instrumentation.rb:100:in 'ActionController::Instrumentation#cleanup_view_runtime'

activerecord (8.0.5) lib/active_record/railties/controller_runtime.rb:46:in 'ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime'

actionpack (8.0.5) lib/action_controller/metal/instrumentation.rb:30:in 'ActionController::Instrumentation#render'

plugins/discourse-landing-pages/app/controllers/landing_pages/landing.rb:40:in 'LandingPages::LandingController#show'

actionpack (8.0.5) lib/action_controller/metal/basic_implicit_render.rb:8:in 'ActionController::BasicImplicitRender#send_action'

actionpack (8.0.5) lib/abstract_controller/base.rb:215:in 'AbstractController::Base#process_action'

actionpack (8.0.5) lib/action_controller/metal/rendering.rb:193:in 'ActionController::Rendering#process_action'

actionpack (8.0.5) lib/abstract_controller/callbacks.rb:261:in 'block in AbstractController::Callbacks#process_action'

activesupport (8.0.5) lib/active_support/callbacks.rb:109:in 'ActiveSupport::Callbacks#run_callbacks'

actionpack (8.0.5) lib/abstract_controller/callbacks.rb:260:in 'AbstractController::Callbacks#process_action'

actionpack (8.0.5) lib/action_controller/metal/rescue.rb:27:in 'ActionController::Rescue#process_action'

actionpack (8.0.5) lib/action_controller/metal/instrumentation.rb:76:in 'block in ActionController::Instrumentation#process_action'

activesupport (8.0.5) lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'

activesupport (8.0.5) lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'

activesupport (8.0.5) lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'

actionpack (8.0.5) lib/action_controller/metal/instrumentation.rb:75:in 'ActionController::Instrumentation#process_action'

actionpack (8.0.5) lib/action_controller/metal/params_wrapper.rb:259:in 'ActionController::ParamsWrapper#process_action'

activerecord (8.0.5) lib/active_record/railties/controller_runtime.rb:39:in 'ActiveRecord::Railties::ControllerRuntime#process_action'

actionpack (8.0.5) lib/abstract_controller/base.rb:152:in 'AbstractController::Base#process'

actionview (8.0.5) lib/action_view/rendering.rb:40:in 'ActionView::Rendering#process'

rack-mini-profiler (4.0.1) lib/mini_profiler/profiling_methods.rb:90:in 'block in ActionController::Base#profile_method' 

actionpack (8.0.5) lib/action_controller/metal.rb:252:in 'ActionController::Metal#dispatch'

actionpack (8.0.5) lib/action_controller/metal.rb:335:in 'ActionController::Metal.dispatch'

actionpack (8.0.5) lib/action_dispatch/routing/route_set.rb:67:in 'ActionDispatch::Routing::RouteSet::Dispatcher#dispatch'

actionpack (8.0.5) lib/action_dispatch/routing/route_set.rb:50:in 'ActionDispatch::Routing::RouteSet::Dispatcher#serve'

actionpack (8.0.5) lib/action_dispatch/routing/mapper.rb:32:in 'block in <class:Constraints>'

actionpack (8.0.5) lib/action_dispatch/routing/mapper.rb:62:in 'ActionDispatch::Routing::Mapper::Constraints#serve'

actionpack (8.0.5) lib/action_dispatch/journey/router.rb:53:in 'block in ActionDispatch::Journey::Router#serve'

actionpack (8.0.5) lib/action_dispatch/journey/router.rb:133:in 'block in ActionDispatch::Journey::Router#find_routes'

actionpack (8.0.5) lib/action_dispatch/journey/router.rb:126:in 'Array#each'

actionpack (8.0.5) lib/action_dispatch/journey/router.rb:126:in 'ActionDispatch::Journey::Router#find_routes'

actionpack (8.0.5) lib/action_dispatch/journey/router.rb:34:in 'ActionDispatch::Journey::Router#serve'

actionpack (8.0.5) lib/action_dispatch/routing/route_set.rb:908:in 'ActionDispatch::Routing::RouteSet#call'

lib/middleware/omniauth_bypass_middleware.rb:35:in 'Middleware::OmniauthBypassMiddleware#call'

lib/middleware/crawler_hooks.rb:13:in 'Middleware::CrawlerHooks#call'

rack (2.2.23) lib/rack/tempfile_reaper.rb:15:in 'Rack::TempfileReaper#call'

rack (2.2.23) lib/rack/conditional_get.rb:27:in 'Rack::ConditionalGet#call'

rack (2.2.23) lib/rack/head.rb:12:in 'Rack::Head#call'

actionpack (8.0.5) lib/action_dispatch/http/permissions_policy.rb:38:in 'ActionDispatch::PermissionsPolicy::Middleware#call'

lib/content_security_policy/middleware.rb:12:in 'ContentSecurityPolicy::Middleware#call'

lib/middleware/anonymous_cache.rb:407:in 'Middleware::AnonymousCache#call'

lib/middleware/csp_script_nonce_injector.rb:12:in 'Middleware::CspScriptNonceInjector#call'

lib/middleware/track_view_session_id_injector.rb:12:in 'Middleware::TrackViewSessionIdInjector#call'

config/initializers/008-rack-cors.rb:14:in 'Discourse::Cors#call'

rack (2.2.23) lib/rack/session/abstract/id.rb:266:in 'Rack::Session::Abstract::Persisted#context'

rack (2.2.23) lib/rack/session/abstract/id.rb:260:in 'Rack::Session::Abstract::Persisted#call'

actionpack (8.0.5) lib/action_dispatch/middleware/cookies.rb:706:in 'ActionDispatch::Cookies#call'

actionpack (8.0.5) lib/action_dispatch/middleware/callbacks.rb:31:in 'block in ActionDispatch::Callbacks#call'

activesupport (8.0.5) lib/active_support/callbacks.rb:100:in 'ActiveSupport::Callbacks#run_callbacks'

actionpack (8.0.5) lib/action_dispatch/middleware/callbacks.rb:30:in 'ActionDispatch::Callbacks#call'

actionpack (8.0.5) lib/action_dispatch/middleware/debug_exceptions.rb:31:in 'ActionDispatch::DebugExceptions#call'

actionpack (8.0.5) lib/action_dispatch/middleware/show_exc
1 Like

And what’s the error line in /logs?

ActionView::Template::Error (undefined method 'mobile_view?' for an instance of #<Class:0x00007d34363a9930>) lib/middleware/omniauth_bypass_middleware.rb:35:in 'Middleware::OmniauthBypassMiddleware#ca

1 Like

Right. That makes complete sense

2 Likes