12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- /**
- * Copyright © 2016 Ihor Vansach (ihor@magefan.com). All rights reserved.
- * See LICENSE.txt for license details (http://opensource.org/licenses/osl-3.0.php).
- *
- * Glory to Ukraine! Glory to the heroes!
- */
- namespace Magefan\Blog\Model\Config\Source;
- /**
- * Authors list
- *
- */
- class Author implements \Magento\Framework\Option\ArrayInterface
- {
- /**
- * @var \Magento\User\Model\ResourceModel\User\CollectionFactory
- */
- protected $authorCollectionFactory;
- /**
- * @var array
- */
- protected $options;
- /**
- * Initialize dependencies.
- *
- * @param \Magento\User\Model\ResourceModel\User\CollectionFactory $authorCollectionFactory
- * @param void
- */
- public function __construct(
- \Magento\User\Model\ResourceModel\User\CollectionFactory $authorCollectionFactory
- ) {
- $this->authorCollectionFactory = $authorCollectionFactory;
- }
- /**
- * Options getter
- *
- * @return array
- */
- public function toOptionArray()
- {
- if ($this->options === null) {
- $this->options = [['label' => __('Please select'), 'value' => 0]];
- $collection = $this->authorCollectionFactory->create();
- foreach ($collection as $item) {
- $this->options[] = [
- 'label' => $item->getName(),
- 'value' => $item->getId(),
- ];
- }
- }
- return $this->options;
- }
- /**
- * Get options in "key-value" format
- *
- * @return array
- */
- public function toArray()
- {
- $array = [];
- foreach ($this->toOptionArray() as $item) {
- $array[$item['value']] = $item['label'];
- }
- return $array;
- }
- }
|