1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-20 06:00:08 -07:00

Update Twig Extension

This commit is contained in:
David Hübner 2017-04-11 17:33:56 +02:00
parent 2dcde6c742
commit 7a2afca00a
12 changed files with 84 additions and 46 deletions

View File

@ -181,3 +181,6 @@ u588p02c02: u588p01c02
2958c01: 2723
32181c03: 32181c01
76019: 76244
4107539: 76244

View File

@ -1,16 +1,7 @@
{% extends 'html.html.twig' %}
{% import 'macros/elements.html.twig' as elements %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}PrintABrick{% endblock %}</title>
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('resources/css/main.css') }}">
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{% block body %}
<div class="ui fixed inverted menu">
{{ knp_menu_render('mainMenu') }}
@ -49,14 +40,3 @@
</div>
</div>
{% endblock %}
{% block javascripts %}
<script type="text/javascript" src="{{ asset('resources/js/three.js') }}"></script>
<script type="text/javascript" src="{{ asset('resources/js/OrbitControls.js') }}"></script>
<script src="{{ asset('resources/js/main.js') }}"></script>
{% endblock %}
</body>
</html>

View File

@ -14,12 +14,14 @@
</div>
{{ form_end(form) }}
<h3>{{ sets|length }}</h3>
<div class="ui seven column grid">
<div class="row">
{% for set in sets %}
<div class="column">
<a href="{{ url('set_detail', {'number': set.number~'-'~set.numberVariant, 'name' : set.name|escape('url') }) }}">
<img style="width: 100%" src="{{ set.largeThumbnailURL }}">
<img style="width: 100%" src="{{ set.legoSetID|setImage|imagine_filter('rebrickable_set_min') }}">
<p>{{ set.LegoSetID }} - {{ set.name }}</p>
</a>
</div>

View File

@ -10,7 +10,7 @@
<tr>
<th>{{ 'set.instructions.description' | trans }}</th>
<th>{{ 'set.instructions.filesize' | trans }}</th>
<th>{{ 'set.instructions.download' | trans }}</th>
<th>{{ 'set.instructions.filename' | trans }}</th>
</tr>
</thead>
<tbody>

View File

@ -3,9 +3,9 @@
{% block title %}{{ 'page.error.title'|trans }}{% endblock %}
{% block content %}
<h2 class="ui center aligned icon header">
<h1 class="ui center aligned icon header">
<i class="circular warning icon"></i>
{{ 'page.error.large'|trans }}
</h2>
</h1>
<p class="ui center aligned">{{ 'page.error.text'|trans }}</p>
{% endblock %}

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}PrintABrick{% endblock %}</title>
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('resources/css/main.css') }}">
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{% block body %}
{% endblock %}
{% block javascripts %}
<script type="text/javascript" src="{{ asset('resources/js/three.js') }}"></script>
<script type="text/javascript" src="{{ asset('resources/js/OrbitControls.js') }}"></script>
<script src="{{ asset('resources/js/main.js') }}"></script>
{% endblock %}
</body>
</html>

View File

@ -38,7 +38,7 @@
<p>
<div class="ui eight doubling cards">
{% for alias in rbParts %}
<a href="{{ url('rebrickable_part_show', {number:alias.number}) }}" class="ui label">{{ alias.number }}</a>
<a href="{{ url('reb_part_detail', {number:alias.number}) }}" class="ui label">{{ alias.number }}</a>
{% endfor %}
</div>
</p>

View File

@ -29,7 +29,7 @@
<div class="column">
<div class="ui fluid bordered image">
<a href="{{ url('set_detail', {number:set.number}) }}">
<img class="ui bordered image" src="{{ set|setImage|imagine_filter('rebrickable_set_min') }}">
<img class="ui bordered image" src="{{ set.number|setImage|imagine_filter('rebrickable_set_min') }}">
<div class="ui bottom attached label">{{ set.number }}<br></div>
</a>
</div>

View File

@ -1,7 +1,3 @@
{% extends 'base.html.twig' %}
{% block content %}
<h4 class="ui horizontal divider header">
Regular parts
</h4>
@ -14,7 +10,7 @@
<a class="ui right {{ inventoryPart.part.model == null ? 'black' : 'red'}} circular label">{{ inventoryPart.quantity }}</a>
<a href="{{ path('reb_part_detail', {number: inventoryPart.part.number}) }}">
<div class="image load">
<img src="{{ inventoryPart.part|partImage(inventoryPart.color)| imagine_filter('rebrickable_part_min') }}" data-src="{{ inventoryPart.part|partImage(inventoryPart.color)| imagine_filter('rebrickable_part_min') }}" class="transition visible">
<img src="{{ inventoryPart.part.number|partImage(inventoryPart.color.id)| imagine_filter('rebrickable_part_min') }}" data-src="{{ inventoryPart.part.number|partImage(inventoryPart.color.id)| imagine_filter('rebrickable_part_min') }}" class="transition visible">
</div>
<div style="border-bottom: #{{ inventoryPart.color.rgb }} 5px solid" class="ui bottom attached label">{{ inventoryPart.part.number }}<br>{{ inventoryPart.isSpare ? 'Spare' : 'Regular' }}</div>
</a>
@ -35,7 +31,7 @@
<a class="ui right {{ inventoryPart.part.model == null ? 'black' : 'red'}} circular label">{{ inventoryPart.quantity }}</a>
<a href="{{ path('reb_part_detail', {number: inventoryPart.part.number}) }}">
<div class="image load">
<img src="{{ inventoryPart.part|partImage(inventoryPart.color)| imagine_filter('rebrickable_part_min') }}" data-src="{{ inventoryPart.part|partImage(inventoryPart.color)| imagine_filter('rebrickable_part_min') }}" class="transition visible">
<img src="{{ inventoryPart.part.number|partImage(inventoryPart.color.id)| imagine_filter('rebrickable_part_min') }}" data-src="{{ inventoryPart.part.number|partImage(inventoryPart.color.id)| imagine_filter('rebrickable_part_min') }}" class="transition visible">
</div>
<div style="border-bottom: #{{ inventoryPart.color.rgb }} 5px solid" class="ui bottom attached label">{{ inventoryPart.part.number }}<br>{{ inventoryPart.isSpare ? 'Spare' : 'Regular' }}</div>
</a>
@ -44,5 +40,3 @@
{% endif %}
{% endfor %}
</div>
{% endblock %}

View File

@ -44,7 +44,7 @@
{% if brset %}
<img class="ui bordered image medium" src="{{ brset.imageURL }}">
{% elseif rbset %}
<img class="ui bordered image medium" src="{{ rbset|setImage|imagine_filter('rebrickable') }}">
<img class="ui bordered image medium" src="{{ rbset.number|setImage|imagine_filter('rebrickable') }}">
{% endif %}
{#{{ brset ? dump(brset) }}#}
@ -59,7 +59,25 @@
</div>
<div class="ui tab active" data-tab="parts">
{% if rbset %}
{#{{ render(controller('AppBundle:Rebrickable/Set:parts', { 'number': rbset.number })) }}#}
{{ render(controller('AppBundle:Rebrickable/Set:parts', { 'number': rbset.number })) }}
<div class="ui seven column grid">
<div class="row">
<h4 class="ui horizontal divider header">
Sets
</h4>
{% for set in inventorySets %}
<div class="column">
<a href="{{ url('set_detail', {'number': set.set.number}) }}">
<img class="ui bordered image medium" src="{{ set.set.number|setImage|imagine_filter('rebrickable_set_min') }}">
<p>{{ set.set.number }} - {{ set.set.name }}</p>
<p>{{ set.quantity}}</p>
</a>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>
{% if brset %}

View File

@ -1,12 +1,28 @@
{% extends 'base.html.twig' %}
{% block content %}
<form method="get" action="" class="ui form">
{{ form_start(form) }}
{{ form_row(form.search) }}
<div class="field fluid search selection">
{{ form_label(form.theme.id) }}
{{ form_widget(form.theme.id) }}
</div>
<div class="field">
<input class="ui submit button" type="submit" value="filter"/>
</div>
{{ form_rest(form) }}
{{ form_end(form) }}
</form>
<div class="ui seven column grid">
<div class="row">
{% for set in sets %}
<div class="column">
<a href="{{ url('set_detail', {'number': set.number, 'name' : set.name|escape('url') }) }}">
<img class="ui bordered image medium" src="{{ set|setImage|imagine_filter('rebrickable_set_min') }}">
<img class="ui bordered image medium" src="{{ set.number|setImage|imagine_filter('rebrickable_set_min') }}">
<p>{{ set.number }} - {{ set.name }}</p>
</a>
</div>

View File

@ -37,14 +37,14 @@ class AppExtension extends \Twig_Extension
];
}
public function partImage(Part $part, Color $color = null)
public function partImage($number, $color = null)
{
return '/parts/ldraw/'.($color ? $color->getId():'-1').'/'.$part->getNumber().'.png';
return '/parts/ldraw/'.($color ? $color :'-1').'/'.$number.'.png';
}
public function setImage(Set $set)
public function setImage($number)
{
return '/sets/'.strtolower($set->getNumber()).'.jpg';
return '/sets/'.strtolower($number).'.jpg';
}
public function remoteSize($url) {