Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create a partial guidance #4465

Merged
merged 4 commits into from
Jan 8, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions docs/content.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ This documentation aims to be a reference for content editors that want to make
* [Accessibility](#accessibility)
* [iframe](#iframe)
* [Inset text](#inset-text)
* [Creating a partial](#creating-a-partial)
* [Details expander for non-UK content](#details-expander-for-non-uk-content)
* [YouTube Video](#youtube-video)
* [Hero](#hero)
Expand Down Expand Up @@ -334,6 +335,75 @@ If you need to insert an expander into an erb file:
link_url: "/non-uk-teachers/non-uk-qualifications",
) %>
```
### Creating a partial

If the content you are creating will be used elsewhere on the site in the exact same format, it may be a good idea to create a partial. This is a snippet of code that you will be able to render in one line. This saves you have having to write the same things again and again. It also means maintenance of the site is easier as any changes you make can be done in one central place rather having to keep track of what information is on what pages.

To create a partial go to the /app/views/content/shared folder then either select an appropriate file or create your own folder. Then create a file. In the file place the HTML code that you would like to replicate on multiple pages.

```yaml
<div class="check-qualifcations">
<h3>Check your qualifications</h3>
<p>To train to teach in England, you'll need:</p>
<ul>
<li>GCSEs at grade 4 (C) or above in English and maths (and science if you want to teach primary)</li>
<li>a bachelor's degree in any subject</li>
</ul>
<p>Having relevant A levels can show your subject knowledge, if you do not have a degree in your chosen subject.</p>
</div>

```

Then, when you are working in another HTML file and want to render your code all you have to do is reference the code you created as follows:

```yaml
<%= render 'content/shared/qualifications-training/check_qualifcations' %>
```
If you need a specific change across each version of your code such as the subject, it is possible to create a variable. All you have to do is reference something in the frontmatter. In the following frontmatter the subject is chemistry.

```yaml
title: Become a chemistry teacher
subject: chemistry
title_paragraph: |-
<p>
As a chemistry teacher, you'll spark curiosity and challenge young minds to explore the fundamental principles that govern our world. You'll inspire students to question, experiment, and discover, fuelling their passion for science.</p>
<p>
Tax-free bursaries of $bursaries_postgraduate_chemistry$ or scholarships of $scholarships_chemistry$ are available for eligible trainee chemistry teachers.</p>
description: |-
Find out how to become a chemistry teacher, including what you'll teach and what funding is available to help you train.
layout: "layouts/minimal"
colour: pastel yellow-yellow
image: "static/images/content/hero-images/chemistry.jpg"
keywords:
- chemistry
- teaching chemistry
- teacher training

content:
- "content/shared/subject-pages/header"
- "content/life-as-a-teacher/explore-subjects/chemistry/article"
```

To create a variable that references the frontmatter simply copy the format below. This will look at the frontmatter, then whatever you reference in the square brackets. In this case, it will look for subject and will render chemistry. This can be changed for anything as long as it is referenced in the frontmatter.
```yaml
<%= @front_matter["subject"] %>
```
This means that you can use the following code over many pages so that each page has its own unique subject rendered.
```yaml
<div class="check-qualifcations">
<h3>Check your qualifications</h3>
<p>To train to teach <%= @front_matter["subject"] %> in England, you'll need:</p>
<ul>
<li>GCSEs at grade 4 (C) or above in English and maths (and science if you want to teach primary)</li>
<li>a bachelor's degree in any subject</li>
</ul>
<p>Having relevant A levels can show your subject knowledge, if you do not have a degree in <%= @front_matter["subject"] %>.</p>
</div>

```





### Adviser (CTA) component
Expand Down
Loading