Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit c8439002 authored by Nicolas's avatar Nicolas
Browse files

Ajustement du formulaire de création

parent 885d96df
No related branches found
No related tags found
No related merge requests found
......@@ -7,14 +7,14 @@ use \Magento\Framework\Exception\LocalizedException;
use \Magento\Framework\Exception\NoSuchEntityException;
use \Magento\Framework\Serialize\Serializer\Json as JsonSerializer;
use \NicolasBejean\MediaManager\Model\Image as ImageModel;
use \NicolasBejean\MediaManager\Model\ResourceModel\Image\Collection;
use \NicolasBejean\MediaManager\Model\ResourceModel\Image\CollectionFactory as ImageCollectionFactory;
use \NicolasBejean\MediaManager\Model\ImageRepository;
use \NicolasBejean\CategoryWidget\Model\CategoryWidget as CategoryWidgetModel;
use \NicolasBejean\CategoryWidget\Model\CategoryWidgetRepository;
use \Magento\Catalog\Model\Category as CategoryModel;
use \Magento\Catalog\Model\ResourceModel\Category\Collection;
use \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory;
use \Magento\Catalog\Model\CategoryRepository;
use \Exception;
/**
......@@ -41,14 +41,14 @@ class AssignCategories extends Template
private $jsonSerializer;
/**
* @var ImageCollectionFactory
* @var CollectionFactory
*/
private $imageCollectionFactory;
private $collectionFactory;
/**
* @var ImageRepository
* @var CategoryRepository
*/
private $imageRepository;
private $categoryRepository;
/**
* @var CategoryWidgetRepository
......@@ -60,8 +60,8 @@ class AssignCategories extends Template
*
* @param Context $context
* @param JsonSerializer $jsonSerializer
* @param ImageCollectionFactory $imageCollectionFactory
* @param ImageRepository $imageRepository
* @param CollectionFactory $collectionFactory
* @param CategoryRepository $categoryRepository
* @param CategoryWidgetRepository $categoryWidgetRepository
* @param array $data
*/
......@@ -69,16 +69,17 @@ class AssignCategories extends Template
(
Context $context,
JsonSerializer $jsonSerializer,
ImageCollectionFactory $imageCollectionFactory,
ImageRepository $imageRepository,
CategoryWidgetRepository $categoryWidgetRepository,
CollectionFactory $collectionFactory,
CategoryRepository $categoryRepository,
CategoryWidgetRepository $categoryWidgetRepository,
array $data = []
)
{
$this->jsonSerializer = $jsonSerializer;
$this->imageCollectionFactory = $imageCollectionFactory;
$this->imageRepository = $imageRepository;
$this->categoryWidgetRepository = $categoryWidgetRepository;
$this->collectionFactory = $collectionFactory;
$this->categoryRepository = $categoryRepository;
$this->categoryWidgetRepository = $categoryWidgetRepository;
parent::__construct($context, $data);
}
......@@ -86,17 +87,19 @@ class AssignCategories extends Template
/**
* @return array
*/
public function getImagesCollection()
public function getCollection()
{
try {
/** @var Collection $collection */
$collection = $this->imageCollectionFactory->create()->toOptionArray();
$collection = $this->collectionFactory->create()
->addAttributeToFilter('level', array('nin' => array(0,1)))
->toOptionArray();
if (!empty($collection)) {
$result = array();
foreach ($collection as $image) {
array_push($result, $this->getImage($image['value']));
foreach ($collection as $item) {
array_push($result, $this->getCategory($item['value']));
}
return $result;
......@@ -114,39 +117,40 @@ class AssignCategories extends Template
* @throws NoSuchEntityException
* @throws LocalizedException
*/
private function getImage (int $id)
private function getCategory (int $id)
{
/** @var ImageModel $image */
$image = $this->imageRepository->getById($id);
/** @var CategoryModel $category */
$category = $this->categoryRepository->get($id);
$result = array();
$result['id'] = $image->getId();
$result['path'] = $image->getPath();
$result['alt'] = $image->getAlt();
$result['is_active'] = $image->isActive();
$result['id'] = $category->getId();
$result['is_active'] = $category->getIsActive();
$result['name'] = $category->getName();
$result['image_path'] = $category->getImageUrl('image');
$result['description'] = $category->getCustomAttribute('description');
$result['url'] = $category->getUrlKey();
return $result;
}
/**
* @param int $sliderId
* @param int $id
* @return array
* @throws LocalizedException
* @throws NoSuchEntityException
*/
public function getSlider (int $sliderId)
public function getSlider (int $id)
{
/** @var CategoryWidgetModel $categoryWidget */
$categoryWidget = $this->categoryWidgetRepository->getById($sliderId);
$categoryWidget = $this->categoryWidgetRepository->getById($id);
$array = explode('|', $categoryWidget->getContent());
$array = array_map('intval', $array);
$result = array();
/** @var array $image */
foreach ($array as $image) {
array_push($result, $this->getImage($image));
foreach ($array as $itemId) {
array_push($result, $this->getCategory((int)$itemId));
}
return $result;
......
......@@ -2,7 +2,7 @@
use \NicolasBejean\CategoryWidget\Block\Adminhtml\CategoryWidget\AssignCategories;
/** @var AssignCategories $block */
$collection = $block->getImagesCollection();
$collection = $block->getCollection();
if (empty($block->getRequest()->getParams())) {
$slider = array();
......@@ -15,13 +15,13 @@ if (empty($block->getRequest()->getParams())) {
<div class="collection">
<p class="categorywidget-title"><?php echo __('Available categories') ?></p>
<div id="collectionList" class="categorywidget-list box-shadow" sortable-list="sortable-list">
<?php foreach ($collection as $categorie): ?>
<?php foreach ($collection as $category): ?>
<div class="categorywidget-list-item box-shadow" sortable-item="sortable-item" data-id="<?php echo $category['id']; ?>">
<div class="categorywidget-list-item-content">
<p><?php echo $category['alt']; ?></p>
<p><?php echo $category['name']; ?></p>
<figure>
<img src="/pub/media/mediamanager/categorie/<?php echo $category['path']; ?>" width="125" />
<figcaption><?php echo $category['path']; ?></figcaption>
<img src="<?php echo $category['image_path']; ?>" width="125" />
<figcaption><?php echo $category['image_path']; ?></figcaption>
</figure>
</div>
<div class="actions">
......@@ -34,13 +34,13 @@ if (empty($block->getRequest()->getParams())) {
<div class="slider">
<p class="categorywidget-title"><?php echo __('Selected categories') ?></p>
<div id="sliderList" class="categorywidget-list box-shadow" sortable-list="sortable-list">
<?php foreach ($slider as $categorie): ?>
<?php foreach ($slider as $category): ?>
<div class="categorywidget-list-item box-shadow" sortable-item="sortable-item" data-id="<?php echo $category['id']; ?>">
<div class="categorywidget-list-item-content">
<p><?php echo $category['alt']; ?></p>
<p><?php echo $category['name']; ?></p>
<figure>
<img src="/pub/media/mediamanager/categorie/<?php echo $category['path']; ?>" width="125" />
<figcaption><?php echo $category['path']; ?></figcaption>
<img src="<?php echo $category['image_path']; ?>" width="125" />
<figcaption><?php echo $category['image_path']; ?></figcaption>
</figure>
</div>
<div class="actions">
......
......@@ -61,7 +61,7 @@
</argument>
<settings>
<dataType>boolean</dataType>
<label translate="true">Enable Category Widget</label>
<label translate="true">Enable</label>
<dataScope>is_active</dataScope>
</settings>
<formElements>
......@@ -122,12 +122,12 @@
</settings>
</field>
</fieldset>
<fieldset name="assign_categorie" sortOrder="9">
<fieldset name="assign_categories" sortOrder="9">
<settings>
<collapsible>true</collapsible>
<label translate="true">Images in Slider</label>
<label translate="true">Categories</label>
</settings>
<container name="assign_categorie_container" sortOrder="160">
<container name="assign_categories_container" sortOrder="160">
<htmlContent name="html_content">
<block name="gallery" class="NicolasBejean\CategoryWidget\Block\Adminhtml\CategoryWidget\AssignCategories"/>
</htmlContent>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment