1: <?php
2:
3: namespace Charcoal\Cms;
4:
5: // From 'charcoal-translator'
6: use Charcoal\Translator\Translation;
7:
8: /**
9: *
10: */
11: interface SectionInterface
12: {
13: /**
14: * @param string $type The section type.
15: * @return self
16: */
17: public function setSectionType($type);
18:
19: /**
20: * @return string
21: */
22: public function sectionType();
23:
24: /**
25: * @param mixed $title Section title (localized).
26: * @return self
27: */
28: public function setTitle($title);
29:
30: /**
31: * @return Translation|string|null
32: */
33: public function title();
34:
35: /**
36: * @param mixed $subtitle Section subtitle (localized).
37: * @return self
38: */
39: public function setSubtitle($subtitle);
40:
41: /**
42: * @return Translation|string|null
43: */
44: public function subtitle();
45:
46: /**
47: * Set the menus this object belongs to.
48: *
49: * @param string|string[] $menu One or more menu identifiers.
50: * @return self
51: */
52: public function setInMenu($menu);
53:
54: /**
55: * Set the object's keywords.
56: *
57: * @param string|string[] $keywords One or more entries.
58: * @return self
59: */
60: public function setKeywords($keywords);
61:
62: /**
63: * @param Translation|string $summary The summary.
64: * @return self
65: */
66: public function setSummary($summary);
67:
68: /**
69: * @param Translation|string $externalUrl The external url.
70: * @return self
71: */
72: public function setExternalUrl($externalUrl);
73:
74: /**
75: * Section is locked when you can't change the URL
76: * @param boolean $locked Prevent new route creation about that object.
77: * @return self
78: */
79: public function setLocked($locked);
80:
81: /**
82: * @param mixed $content The section content (localized).
83: * @return self
84: */
85: public function setContent($content);
86:
87: /**
88: * @param mixed $image The section main image (localized).
89: * @return self
90: */
91: public function setImage($image);
92:
93: /**
94: * @return Translation
95: */
96: public function content();
97:
98: /**
99: * @return Translation
100: */
101: public function image();
102:
103: /**
104: * Retrieve the menus this object belongs to.
105: *
106: * @return string|Translation
107: */
108: public function inMenu();
109:
110: /**
111: * Retrieve the object's keywords.
112: *
113: * @return string[]
114: */
115: public function keywords();
116:
117: /**
118: * @return Translation
119: */
120: public function summary();
121:
122: /**
123: * @return string
124: */
125: public function externalUrl();
126:
127: /**
128: * @return boolean Or Null.
129: */
130: public function locked();
131:
132: /**
133: * MetatagTrait > canonicalUrl
134: *
135: * @return string
136: * @todo
137: */
138: public function canonicalUrl();
139:
140: /**
141: * @return Translation
142: */
143: public function defaultMetaTitle();
144:
145: /**
146: * @return Translation
147: */
148: public function defaultMetaDescription();
149:
150: /**
151: * @return Translation
152: */
153: public function defaultMetaImage();
154: }
155: