silverdr
In 1.6 one could use something like
pipeline :guest_layout do
plug :put_layout, {PhxAppWeb.LayoutView, :guest}
end
inside router.ex and then pipe_through it in appropriate scope. That doesn’t seem to work anymore in 1.7? How does one change the app layout these days?
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication):
toke...
New
Hello folks!
So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New
** (ArgumentError) expected :max_attempts to be a positive integer, got: {:@, [line: 10, column: 19], [{:max_attempts, [line: 10, column:...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 5- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
codeanpeace
It looks like the function signature for
put_layout/2has changed from v1.6 to v1.7 such that the second argument now expects a keyword list that includesformat :: atom()as the first item in each tuple.put_layout/2in v1.6:put_layout/2in v1.7:Maybe try something like this:
addstar
I wanted to have a different layout for certain live view pages and I ended up modifying the
my_app_web.exfile so that in my live views I could do thisuse MyAppWeb, {:live_view, layout: :home}. I do wonder if someone has a different approach though?codeanpeace
You could try scopes that pipe through different Router plugs like what @silverdr was doing.
Poking around the LiveView docs, I see there’s also a live_session/3 function for grouping together live routes into a session for live redirects which happens to accept an optional layout in the form of “a tuple with the view module and template string or atom name”.
josevalim
Excellent replies @codeanpeace.
I have pushed a commit to LiveView that improves its docs: Improve layout docs · phoenixframework/phoenix_live_view@5ef4153 · GitHub
For regular controllers (put_layout) both old and new styles should be supported, this means your code should work @silverdr. Please open up a bug report with reproduction steps if it does not.
silverdr
It was a combination of factors that caused some confusion. Actually the original style works. The reason for it not working was elsewhere but since LS reported that
Function guest_layout/2 has no local returnit looked like the old style no longer working. When I change to the new style though, the Dialyzer warning disappears, but… the pipeline becomes ineffective. IOW - this:works despite the warning being emitted, while changing it to:
makes the warning go away together with the functionality of changing the layout. Any clues? The layout and view is a DeadView if this makes any difference.