Creating Dynamic Web Pages with Webflow CMS: Advanced Tutorial

Published on
January 21, 2021

In this advanced Webflow lesson, we will learn how to create a fully dynamic website using the CMS feature available in Webflow. Up until now, we have focused on building a static homepage. However, in this lesson, we will build a secondary page that will serve as a template for all client pages to be automatically generated based on content added to the CMS.

Let's dive into the process of building the various elements for our dynamic project pages using Webflow.

Setting up the Second Page

First, we need to create a new page for our project details. This can be achieved by accessing the CMS Collection pages through the Webflow interface. Here, a template for the project details page will automatically be generated based on the content added to the CMS.

By utilizing the CMS, we can ensure that each client page created will be unique, and the content will be automatically generated based on the data added to the CMS.

Building the Hero Section

To begin the design process, we start with the hero section. This section typically showcases the main project details. By using the same linking and collection list concepts from the homepage, we can pull the relevant data from the CMS to dynamically populate the hero section.

We add a section and a container as we've done before, apply classes, and add heading and text elements within the container. By pulling the text data from the CMS collection directly, we ensure that each project page will display the appropriate project name and type dynamically.

We also add an image element and link it to the project's image from the collection. This allows for the dynamic display of respective project images based on the CMS data.

Creating Project Details Section

Moving on to the project details section, we add another section and container. Here, we utilize CSS grid to organize the content in a side-by-side layout. This section includes labels and information related to the project, dynamically pulled from the CMS.

We add div blocks to organize the content and style them based on the content type. Additionally, we make the project labels and information clickable, allowing users to navigate to specific project pages within the portfolio.

Implementing Project Description

In the next segment, we focus on the project description section. Using the rich text element, we populate the project details dynamically from the CMS. By creating a class for the project description, we have the ability to style the headings and paragraphs specifically within this segment without affecting other parts of the site.

We demonstrate how to link the rich text to the project details within the CMS, ensuring that each project page displays the relevant project information dynamically.

Incorporating Multi-Image Grid

We then proceed to create a multi-image grid section to display a gallery of project images. By leveraging the CMS collection list, we can pull images dynamically from the CMS and present them in a visually appealing grid format. This gives an engaging visual representation of the project work.

Moving forward, we work on displaying links to other projects. We showcase how to organize and link to other client projects dynamically by utilizing the CMS collection list and filtering out the current project to avoid redundancy. We demonstrate how to create a visually engaging display for other projects on the portfolio page, all dynamically generated based on CMS data.

Next, we simply add the navigation and footer to the project page, which we have already designed as symbols in previous lessons. By adding these symbols to the project page, we ensure consistency across all pages and make them fully operational.

Making the Design Responsive

Finally, we mention the importance of making the design responsive. While we did not delve into the exact steps for responsiveness in this lesson, it is vital to ensure that the design looks and functions well across various devices.

In summary, the key aspects covered in this advanced lesson include creating a dynamic project page template using the CMS, populating content dynamically from the CMS, and ensuring consistent design elements across multiple pages by using symbols.

By following this comprehensive guide, you will be equipped to build dynamic and engaging project pages in Webflow, setting the stage for a highly functional and visually appealing portfolio website.