با درود خدمت شما دوستان گرامی فرض بفرمایید بنده یک کنترلر دارم به شرح زیر :
def index(conn, _params) do
breadcrumb = [
%{
title: "کامپوننت آسان پرداخت",
link: "طراحی سایت و بهینه سازی",
}
]
render(conn, "index.html", breadcrumb: breadcrumb)
end
حالا من می خوام breadcrumb
رو قبل از ارسال به تمپلیت و چاپش بیام تغییر بدم
حالا من به این صورت اقدام کردم : در تمپلیت اون بخش یک پارشال درست کردم به شرح زیر
آدرس تمپلیت : templates/blog/index.html.eex
<%= render TrangellHtmlSiteWeb.BlogView, "_breadcrumb.html", conn: @conn, breadcrumb: @breadcrumb %>
آدرس خود پارشال : templates/blog/_breadcrumb.html.eex
حالا کدی که در پارشال وجود داره به شرح زیر می باشد :
<%= for %{title: title, link: link} <- @breadcrumb do %>
<%= title %>
<% end %>
حالا من می خوام breadcrumb
رو در veiw تغییر بدم نمی خوام بزارم به همون شکلی که در کنترلر تعیین شده ذخیره بشه اومدم به این صورت های زیر انجام دادم هیچ کدوم کار نکرد
def index(conn, _params) do
new_breadcrumb = [
%{
title: "test",
link: "test",
}
]
edited_breadcrumb = @breadcrumb ++ new_breadcrumb
render(conn, "index.html", breadcrumb: edited_breadcrumb)
end
کد بالا کار نکرد و این کارو نیز انجام دادم
def index(conn, _params) do
new_breadcrumb = [
%{
title: "tts",
link: "طراحی سایت و بهینه سازی",
}
]
# edited_breadcrumb = breadcrumb ++ new_breadcrumb
@breadcrumb = @breadcrumb ++ new_breadcrumb
render(conn, "index.html", breadcrumb: @breadcrumb )
end
حالا ارور زیر رو دارم
Warning Elixir undefined module attribute @breadcrumb, please remove access to @breadcrumb or explicitly set it before access 13:5
Warning Elixir undefined module attribute @breadcrumb, please remove access to @breadcrumb or explicitly set it before access
چطور می تونم در هر view بیام متغییر های هر کنترلر رو تغییر بدم . چون می خوام این کد هامو ببرم توی view که در همه جا شیر می شه ولی برای تست در داخل می خواستم تست کنم
ممنون می شم راهنمایی بفرمایید متاسفانه از لینک زیر متوجه نشدم
https://hexdocs.pm/phoenix/templates.html#content
بنده به این صورت نیز عمل کردم باز جوابگو نبود
def breadcrumb(assigns) do
breadcrumb = [
%{
title: "tts",
link: "طراحی سایت و بهینه سازی",
}
]
breadcrumb
end
در این پست هم به نتیجه جالبی نرسیدم