Skip to content

Commit

Permalink
Merge pull request Sylius#67 from TheMadeleine/category-grid
Browse files Browse the repository at this point in the history
[CJMAX-42] Homepage Categories Grid
  • Loading branch information
michalmarcinkowski committed May 5, 2016
2 parents b56a600 + 5239bbc commit fcecad9
Show file tree
Hide file tree
Showing 30 changed files with 564 additions and 164 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<div class="col-md-3 col-sm-4">
<div class="grid-item gi-list">
{{ sonata_block_render({'name': '/cms/blocks/categoriesList'}) }}
</div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="same-height-row row grid-items gi-categories">
{% for categoryGridItem in categoryGridItems %}
{{ include('@SyliusWeb/Frontend/Category/_categoryGridItem.html.twig') }}
{% if 3 == loop.index %}
{{ include('@SyliusWeb/Frontend/Category/_categoriesList.html.twig') }}
{% endif %}
{% endfor %}
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{% set category = categoryGridItem.category %}
{% if categoryGridItem.path is not empty %}
{% set itemImagePath = categoryGridItem.path|imagine_filter('sylius_large') %}
{% else %}
{% set itemImagePath = category.path ? category.path|imagine_filter('sylius_large') : 'http://placehold.it/400x400' %}
{% endif %}

<div class="col-md-3 col-sm-4">
<div class="grid-item gi-category">
<div class="image same-height">
<a href="{{ path(category) }}">
<img src="{{ itemImagePath }}" alt="" class="img-responsive image1">
</a>
</div>
<!-- /.image -->
<div class="text">
<h3>
<a href="{{ path(category) }}">
{{ categoryGridItem.title ? categoryGridItem.title : category.name }}
</a>
</h3>
</div>
<!-- /.text -->
</div>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,8 @@
<h4 class="text-muted"><span class="accent">Free shipping</span> on everything</h4>
</div>
{{ include('@SyliusWeb/Frontend/Product/_productGrid.html.twig') }}
<div class="same-height-row row grid-items gi-categories">
{{ include('@SyliusWeb/Frontend/Product/categories.html.twig') }}
</div>

{{ include('@SyliusWeb/Frontend/Category/_categoryGrid.html.twig') }}
</div>
</div>

Expand Down Expand Up @@ -151,6 +150,7 @@
<script>
$(".quick-view-button").on("click", "a", function () {
$("#product-quick-view-modal").empty();
$("#category-quick-view-modal").empty();
$.ajax({
url: $(this).attr("href")
Expand Down

This file was deleted.

5 changes: 5 additions & 0 deletions app/Resources/translations/messages.en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,13 @@ app:
product_grid_items: Product grid items
new_product_grid_item: New product grid item
edit_product_grid_item: Edit product grid item
category_grid_items: Category grid items
new_category_grid_item: New category grid item
edit_category_grid_item: Edit category grid item
product_name: Product name
category_name: Category name
product: Product
category: Category
user_section: User section
pages: Pages
my_account: My account
Expand Down
8 changes: 8 additions & 0 deletions app/Resources/views/CategoryGridItem/_form.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{ form_errors(form) }}
<div class="two field">
{{ form_row(form.title) }}
{{ form_row(form.position) }}
{{ form_row(form.category) }}
{{ form_row(form.enabled) }}
{{ form_row(form.file) }}
</div>
33 changes: 33 additions & 0 deletions app/config/grids/admin/category_grid_item.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
sylius_grid:
grids:
app_admin_category_grid_item:
driver:
name: doctrine/orm
options:
class: %app.model.category_grid_item.class%
sorting:
position: asc
fields:
title:
type: string
label: app.ui.title
position:
type: string
label: app.ui.position
category:
type: string
label: app.ui.category_name
enabled:
type: twig
label: sylius.ui.enabled
options:
template: SyliusAdminBundle:Grid/Field:enabled.html.twig
actions:
main:
create:
type: create
item:
update:
type: update
delete:
type: delete
1 change: 1 addition & 0 deletions app/config/grids/grids.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
imports:
- { resource: 'admin/carousel_item.yml' }
- { resource: 'admin/category_grid_item.yml' }
- { resource: 'admin/product_grid_item.yml' }
- { resource: 'shop/product.yml' }
9 changes: 8 additions & 1 deletion app/config/permissions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ sylius_rbac:
app.carousel_item.create: Create carousel item
app.carousel_item.update: Edit carousel item
app.carousel_item.delete: Delete carousel item
# Category grid item
app.manage.category_grid_items: Manage category grid items
app.category_grid_item.index: List category grid items
app.category_grid_item.create: Create category grid item
app.category_grid_item.update: Edit category grid item
app.category_grid_item.delete: Delete category grid item
# Product grid item
app.manage.product_grid_items: Manage product grid items
app.product_grid_item.index: List product grid items
Expand All @@ -14,10 +20,11 @@ sylius_rbac:
app.product_grid_item.delete: Delete product grid item
permissions_hierarchy:
app.manage.carousel_items: [app.carousel_item.index, app.carousel_item.create, app.carousel_item.update, app.carousel_item.delete]
app.manage.category_grid_items: [app.category_grid_item.index, app.category_grid_item.create, app.category_grid_item.update, app.category_grid_item.delete]
app.manage.product_grid_items: [app.product_grid_item.index, app.product_grid_item.create, app.product_grid_item.update, app.product_grid_item.delete]
roles:
administrator:
name: Administrator
description: Administrator user
permissions: [app.manage.carousel_items, app.manage.product_grid_items, sylius.manage.settings, sylius.manage.locale, sylius.manage.currency, sylius.manage.country, sylius.manage.province, sylius.manage.zone, sylius.manage.payment_method, sylius.manage.channel]
permissions: [app.manage.carousel_items, app.manage.product_grid_items, app.manage.category_grid_items, sylius.manage.settings, sylius.manage.locale, sylius.manage.currency, sylius.manage.country, sylius.manage.province, sylius.manage.zone, sylius.manage.payment_method, sylius.manage.channel]
security_roles: [ROLE_ADMINISTRATION_ACCESS, ROLE_ALLOWED_TO_SWITCH]
6 changes: 6 additions & 0 deletions app/config/resources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ sylius_resource:
model: AppBundle\Entity\CarouselItem
form:
default: AppBundle\Form\Type\CarouselItemType
app.category_grid_item:
driver: doctrine/orm
classes:
model: AppBundle\Entity\CategoryGridItem
form:
default: AppBundle\Form\Type\CategoryGridItemType
app.product_grid_item:
driver: doctrine/orm
classes:
Expand Down
3 changes: 3 additions & 0 deletions app/config/routing/admin/admin.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
sylius_admin_carousel_item:
resource: 'carousel_item.yml'

sylius_admin_category_grid_item:
resource: 'category_grid_item.yml'

sylius_admin_product_grid_item:
resource: 'product_grid_item.yml'
15 changes: 15 additions & 0 deletions app/config/routing/admin/category_grid_item.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
app_admin_category_grid_item:
resource: |
alias: app.category_grid_item
section: admin
templates: SyliusAdminBundle:Crud
except: ['show']
grid: app_admin_category_grid_item
vars:
all:
subheader: app.ui.category_grid_items
templates:
form: :CategoryGridItem:_form.html.twig
index:
icon: 'square outline'
type: sylius.resource
35 changes: 35 additions & 0 deletions app/migrations/Version20160429094836.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

namespace App\Migrations;

use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;

/**
* Auto-generated Migration: Please modify to your needs!
*/
class Version20160429094836 extends AbstractMigration
{
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.');

$this->addSql('CREATE TABLE category_grid_item (id INT AUTO_INCREMENT NOT NULL, category_id INT DEFAULT NULL, title VARCHAR(255) DEFAULT NULL, position INT DEFAULT NULL, enabled TINYINT(1) NOT NULL, path VARCHAR(255) DEFAULT NULL, INDEX IDX_FE495A7C12469DE2 (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
$this->addSql('ALTER TABLE category_grid_item ADD CONSTRAINT FK_FE495A7C12469DE2 FOREIGN KEY (category_id) REFERENCES sylius_taxon (id)');
}

/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.');

$this->addSql('DROP TABLE category_grid_item');
}
}
Loading

0 comments on commit fcecad9

Please sign in to comment.