Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Golang Fiber Render – Sending data to multiple Layouts

I’m trying to switch from PHP to GO, but I’m stuck at one point, I ask for your help.

I linked navbar.html, which is where I will draw my menus and logo, into index.html.

but I can’t pull the data that I assigned for the index into the navbar from navbar.html.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I tried to add navbar in render but got error.
Do I need to create a separate function for each page?
Or can I do it with a single function?

main.go


func (r *Repository) BilgiGetir(c *fiber.Ctx) error {
      ....
      .....
      ......
      ............


    return c.Render("index", fiber.Map{
        "Title":    titlebilgi.Bilgi1,
        "Bilgi":    bilgi,
        "IlanList": ilanlist,
    })

}

index.html
(image ) index.html

{{ define "index" }}

<html>
     <title>{{.Title}}</title>
    {{ template "head" }}
<body class="cover-pull-top header-transparent">
<div class="page-wrapper">
    {{ template "navbar" }}      **   <------------------------------**
    <div class="main-wrapper">
        <div class="main">
            <div class="main-inner">
             
                <div class="content">

navbar.html
(image )navbar.html

 {{ define "navbar" }}


 <div class="header-wrapper">
    <a class="header-logo" href="">
    <img src="emlakgo-logo-w_2.png" alt= '{{.Title}}' title='{{.Title}}'>   ** <-------------   **          
    </a><!-- /.header-logo -->

I want to pull a title but it doesn’t come. I think I need to define a navbar in the render, but I can’t add more than one layout in the render, I always get an error. how can i solve this problem.

>Solution :

You can pass data from one template to another by specifying the pipeline after the template’s name, i.e.

{{template "name" pipeline}}

The template with the specified name is executed
with dot set to the value of the pipeline.

For example: {{ template "navbar" . }} or {{ template "navbar" .Title }} (with the latter you’d then reference the title inside navbar as just . instead of .Title)

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading