In this chapter, we will delve a bit deeper into the actual development of concrete5. In the previous chapters, we mostly copied and modified existing functionality. This worked well for basic tasks and even for some more advanced features. However, there comes a point when you work with concrete5 when you have to create a completely new block to meet your or your customers' requirements.
Let's get started with a simple block, we'll go through this step-by-step and add more functionality to it till we get to the end of this chapter. We'll follow these steps:
A first block that simply holds discrete values that represent a product
A few additions to that block to check for mandatory fields as well as an option to categorize the product blocks
The next block will use the previous product block to build a list
We'll then look at a block you can use to add a magnifying effect to a picture
The next block creates a PDF document from the current page by wrapping...