1: <?php
2:
3: namespace Charcoal\Cms\Mixin;
4:
5: // dependencies from `beneroch/charcoal-attachment`
6: use Charcoal\Attachment\Interfaces\AttachmentAwareInterface;
7:
8: /**
9: * Defines flexible nodes of palpable content
10: * (e.g., a magazine or newspaper article, a blog entry).
11: *
12: * See `HasContentBlocksTrait` for a basic implementation.
13: */
14: interface HasContentBlocksInterface
15: {
16: /**
17: * Retrieve this object's content blocks.
18: *
19: * @return Collection|Attachment[]
20: */
21: public function contentBlocks();
22:
23: /**
24: * Determine if this object has any content blocks.
25: *
26: * @return boolean
27: */
28: public function hasContentBlocks();
29:
30: /**
31: * Count the number of content blocks associated to this object.
32: *
33: * @return integer
34: */
35: public function numContentBlocks();
36:
37: /**
38: * @return Translation
39: */
40: public function defaultMetaDescription();
41: }
42: