It's increasingly common for surface mount devices to be soldered to a heatsink pad under the body. The problem is that when such pads are completely covered with solder paste, there's too much of it, and the result is that the device floats on a bed of solder, making the peripheral connections unreliable.

Two strategies are commonly used to combat this. The first is to restrict the amount of paste. The second is to introduce vias, to some of the solder drains into the holes.

For the means to design such a footprint, please first read the FAQ "How can I create a pad shape that isn't provided by the application?", which can be found here.

Using the methods described in this, if you have chosen to use a pad for the main heatsink area, for this pad style set a pad exception on the solder paste layer (which will automatically mirror in case the device is flipped) so the pad is size zero. This prevents paste being added for the main pad. If vias are being added, the pad style used for them will need the same exception.

If you have chosen to define the heatsink area using a filled shape, it won't appear on the paste layer, but you will have to remember to add another appropriately sized filled shape on the top resist layer. Open the properties of the original shape on the copper layer, and link it to whichever pad number in the footprint is always attached to the same net.  Once you have done this, you will be able to check the 'Auto Mask' box which causes the shape to be treated as part of the pad when plotting if the symbol doesn't need either a dedicated paste or resist layer

Refer to the manufacturers data sheet for the optimum positions of paste blocks. Create these by adding filled shapes of the appropriate size to the top paste layer only. If the device is flipped these will automatically be moved to the reverse side. The 'Shape Information' dockable bar can help with fine tuning these.

Now you can add pads to represent the vias as required by the data sheet. Because you cannot add vias to a footprint, only pads, it's only possible to have holes completely through the board. Blind holes are not supported, and would have to be added separately in the design if required. Because these pads will all be on the same net, you will have to use the multiple pin assignment feature in the component editor to link them all to the same schematic pin. This cannot be done within the symbol editor.  When creating the component press <F1> and refer to the help section on 'Multiple Pin Numbers'.

Add reference origins as required, position the symbol origin, and the footprint is now ready to be saved to the library.