1: <?php
2:
3: namespace Charcoal\Cms;
4:
5: // From 'charcoal-object'
6: use Charcoal\Object\Content;
7: use Charcoal\Object\CategoryInterface;
8: use Charcoal\Object\CategoryTrait;
9:
10: // From 'charcoal-cms'
11: use Charcoal\Cms\News;
12:
13: /**
14: * News Category
15: */
16: class NewsCategory extends Content implements CategoryInterface
17: {
18: use CategoryTrait;
19:
20: /**
21: * Translatable
22: * @var string[] $name
23: */
24: protected $name;
25:
26: /**
27: * Section constructor.
28: * @param array $data Init data.
29: */
30: public function __construct(array $data = null)
31: {
32: parent::__construct($data);
33:
34: if (is_callable([ $this, 'defaultData' ])) {
35: $this->setData($this->defaultData());
36: }
37: }
38:
39: /**
40: * CategoryTrait > itemType()
41: *
42: * @return string
43: */
44: public function itemType()
45: {
46: return News::class;
47: }
48:
49: /**
50: * @return \Charcoal\Model\Collection|array
51: */
52: public function loadCategoryItems()
53: {
54: return [];
55: }
56:
57: /**
58: * @return mixed
59: */
60: public function name()
61: {
62: return $this->name;
63: }
64:
65: /**
66: * @param mixed $name The category name.
67: * @return self
68: */
69: public function setName($name)
70: {
71: $this->name = $this->translator()->translation($name);
72:
73: return $this;
74: }
75: }
76: