<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_7_thread_36951"  />
<title>rulinux.net - Форум - Rulinux.net - Касательно переписывания движка на симфони.</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Rulinux.net - Касательно переписывания движка на симфони.</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138590</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138590</guid>
<pubDate>Sat, 05 May 2012 09:05:38 +0400</pubDate>
<description><![CDATA[<p><i>>&gt; Специально для этих целей я создал репозиторий rulinux-symfony и домен третьего уровня http://symfony.rulinux.net </i><br><i>> Запилите тогда уже и почту! Отличная днявочка получится. Аноним</i><br><br><br>Что-то я не понял, а всё же по какому поводу истерика? </p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138588</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138588</guid>
<pubDate>Sat, 05 May 2012 08:57:25 +0400</pubDate>
<description><![CDATA[<p><i>> Специально для этих целей я создал репозиторий rulinux-symfony и домен третьего уровня http://symfony.rulinux.net</i><br> Запилите тогда уже и почту! Отличная днявочка получится. <a href="mailto:anonymous@mail.rulinux.net">Аноним</a></p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138568</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138568</guid>
<pubDate>Fri, 04 May 2012 21:59:00 +0400</pubDate>
<description><![CDATA[<p>&gt; Видение видением, а вот сюда никто эти сниппеты почти никогда и не постил.
<br>
Во-первых смысла нету, во-вторых куски кода какие-то тут проскакивали и будь у модераторов возможность их классифицировать - может сгодилось бы на что..</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138563</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138563</guid>
<pubDate>Fri, 04 May 2012 20:10:45 +0400</pubDate>
<description><![CDATA[<p><i>>Можно и на битбакете, но лучше на гитхабе. Тоже думал, что битбакт наше фсё, пока не поюзал гитхаб.</i><br> Имхо единственное, что отличает гитхаб от других - довольно неплохая карта форков, по которой можно понять, какой проект более живой. Не понимаю, чего в нём люди ещё находят.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138562</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138562</guid>
<pubDate>Fri, 04 May 2012 20:08:58 +0400</pubDate>
<description><![CDATA[<p><i>>&gt; Петя, бля, сделай плиз это на гитхабе. </i><br><i>>На битбакете, и не с гитом!:)</i><br> Можно и на битбакете, но лучше на гитхабе. Тоже думал, что битбакт наше фсё, пока не поюзал гитхаб.<br><br> <i>>&gt; //Фч-чф=чф </i><br><i>> лол</i><br>B yt ujdjhb? kjk)))</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138561</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138561</guid>
<pubDate>Fri, 04 May 2012 20:05:40 +0400</pubDate>
<description><![CDATA[<p><i>>Сниппеты кода, например, вписываются в твоё видение рулинукса?</i><br> Видение видением, а вот сюда никто эти сниппеты почти никогда и не постил.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138560</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138560</guid>
<pubDate>Fri, 04 May 2012 20:03:11 +0400</pubDate>
<description><![CDATA[<p><i>>Петя, бля, сделай плиз это на гитхабе.</i><br> На битбакете, и не с гитом!:)<br><br><i>>К тому же там кажется нет пула с клонов, а как мы будем обмениваться нашими замечательными идеями?</i><br> Там есть merge requests. Да и, собственно, накой нужны гуёвые извращения, если есть команда git? Тем более, владельцу репозитория бывает полезно подправить что-нибудь перед мерджем, так что веб-интерфейса всё равно не хватает.<br><br><i>>//Фч-чф=чф</i><br> лол</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138556</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138556</guid>
<pubDate>Fri, 04 May 2012 19:36:52 +0400</pubDate>
<description><![CDATA[<p><i>> Специально для этих целей я создал репозиторий rulinux-symfony</i><br><br><br>Петя, бля, сделай плиз это на гитхабе. Это же гиторус, это же какой-то пиздец. К тому же там кажется нет пула с клонов, а как мы будем обмениваться нашими замечательными идеями? Бля этоже сурое поделие годное только для халявного гит репозитария. Мы же планируем как бэ коллективную разработку. Не?<br><br>//Фч-чф=чф</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138529</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138529</guid>
<pubDate>Fri, 04 May 2012 13:24:41 +0400</pubDate>
<description><![CDATA[<p>&gt; Ты предлагаешь что-то вроде подхода вики, когда всё построено на &quot;тэгах&quot;, и к странице можно попасть разными путями. 
<br><br>
Строго иерархические структуры - это не теги, вроде правильное название - таксономии. Можешь рассматривать их как альтернативные оглавления книги, исходящие из различных путей систематизированного поиска (хочу почитать о свободных программах для работы с графикой и их библами, хочу программировать на сиплюсплюсе графику с использованием готовой библиотеки).
<br><br>
&gt; Оно, конечно, хорошо, но иногда напоминает помойку, 
<br><br>
Всё имеет свои разумные пределы применения. Теги в этом плане только хуже.
<br><br>
&gt; особенно если объект нельзя чётко отнести к какой-либо категории.
<br>
Можно, зависит от размеров дерева: http://www.oid-info.com/cgi-bin/display?tree=1.3.6.1.4.1.35751
<br><br>
&gt; Ты предлагаешь что-то вроде подхода вики, когда всё построено на &quot;тэгах&quot;, и к странице можно попасть разными путями.
<br><br>
Типа того, только не на тегах, а на иерархиях. Потому то иерархия помогает легко найти соседние сущности. Ты обычным поиском или из гугла или локальным выпал на страницу по своей проблеме, ознакомился и.. и что? Надо посмотреть нет ли по соседству ещё более годного материала связанного с твоей проблемой. Тут иерархическая таксономия оч полезна.
<br><br>
&gt; не текущий рулинукс, а совсем другой проект.
<br><br>
Сниппеты кода, например, вписываются в твоё видение рулинукса?</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138527</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138527</guid>
<pubDate>Fri, 04 May 2012 13:03:52 +0400</pubDate>
<description><![CDATA[<p><i>> Даже не знаю, может хранить информацию о &quot;типе&quot; раздела в БД, тогда уж?</i><br>Естественно, в той же алхимии делается спец поле если одна таблица содержит объекты разных классов, я думал это очевидно.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138526</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138526</guid>
<pubDate>Fri, 04 May 2012 12:59:47 +0400</pubDate>
<description><![CDATA[<p>&gt; Это ты о чём? Разные таблицы для разных типов (статьи/новости/галереи)?
<br>
<br>
Нет, про разные экземпляры объектов одного и того же класса. Вот я выше ссылался на статью из симфониной доки, которая пестрит идентификаторами вида: src/Acme/HelloBundle/Controller/HelloController.php
<br>
<br>
Что такое &quot;HelloBundle/Controller&quot; в том айдишнике? Это имя типа, а не конкретного инстанса объекта этого типа. И обращаться ты к нему будешь в виде http://localhost/Контроллер/метод/параметры_метода - потому что у тебя маппинг адресует контроллер вообще, а не один из экземпляров контроллера. Поэтому все блоги на сайте будут иметь одну и ту же конфигурацию, либо нести кучу ненужной логики для &quot;гибкости&quot;. Ненужной просто потому, что было бы достаточно создать другой экземпляр класса с другими свойствами.
<br>
<br>
Сейчас нашёл -  вроде в Симфоне есть решение в виде <a href="http://symfony.com/doc/current/book/service_container.html">сервисов</a>. Сервис там выступает как именованный экземпляр некоего контроллера, которому параметры задаются в конфиге.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138523</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138523</guid>
<pubDate>Fri, 04 May 2012 12:18:54 +0400</pubDate>
<description><![CDATA[<p><i>>Ну так оно и сейчас хранится в БД. В табличке sections. Просто добавить в нее путь к классу или шаблону, в зависимости от реализации и все. Че мудрить-то?</i><br> Да, в общем-то, и незачем что-то изобретать. Но вдруг есть какие-нибудь другие способы решения данного вопроса, раз уж есть возможность обсудить.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138522</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138522</guid>
<pubDate>Fri, 04 May 2012 12:15:56 +0400</pubDate>
<description><![CDATA[<p>Ну так оно и сейчас хранится в БД. В табличке sections. Просто добавить в нее путь к классу или шаблону, в зависимости от реализации и все. Че мудрить-то?</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138521</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138521</guid>
<pubDate>Fri, 04 May 2012 12:13:38 +0400</pubDate>
<description><![CDATA[<p><i>>Каждый со своим стораджем.</i><br> Это ты о чём? Разные таблицы для разных типов (статьи/новости/галереи)?<br><br>Вообще можно взять и вынести все дополнительные свойства разделов в отдельную таблицу, по принципу EAV (свойство-значение). Т.е. основная таблица содержит название, автора и прочее, а дополнительная - всякую муть вроле линков на новость и картинок в галерее. В таком случае, например, можно будет, в дальнейшем, не создавать новые таблицы для новых типов, и не делать ALTER TABLE и держать пустые колонки. Заодно можно будет легко добавить N ссылок на новость. Или N скриншотов. Но усложняется логика работы с этим делом, да и запросы тоже.<br><br><i>>ведь одна и та же страница может быть классифицирована по разному, например:</i><br> Ты предлагаешь что-то вроде подхода вики, когда всё построено на &quot;тэгах&quot;, и к странице можно попасть разными путями. Оно, конечно, хорошо, но иногда напоминает помойку, особенно если объект нельзя чётко отнести к какой-либо категории.И вообще получается уже не текущий рулинукс, а совсем другой проект.<br><br>Я бы не стал так далеко уходить, оставив жесткую структуру категории-треды-сообщения. А предлагаемую функциональность можно накрутить с помощью тэгов, хотя это будет не совсем то. Что-то вроде компромиссного решения.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138519</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138519</guid>
<pubDate>Fri, 04 May 2012 12:06:14 +0400</pubDate>
<description><![CDATA[<p><i>>Прекрасно всё укладывается в одну кучу (дерево).</i><br> Вот только твой пример не учитвает разное поведение объектов класса &quot;раздел&quot; (ну или постов в данном разделе, без разницы). Даже не знаю, может хранить информацию о &quot;типе&quot; раздела в БД, тогда уж? А то иначе всё скатывается в if section.id == 1... </p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138517</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138517</guid>
<pubDate>Fri, 04 May 2012 11:17:17 +0400</pubDate>
<description><![CDATA[<p>Забыл про доп. поля.. Ну можно попробовать так: объявить абстрактный базовый тип - страница с разметкой. Если страница нуждается в доп. атрибутах - можно от неё унаследовать дочерний тип, наверное. Как на уровне логики, так и представления (темплейты же наследуются, хотя я ещё не понял как это выглядит). Разные бандлы для разных типов. Каждый со своим стораджем. 
<br><br>
Есть ещё одна шняга, о которой, как мне кажется, разработчики фрейворков для пых не думают никогда. Для них класс - это не какбэ тип объекта, а в чём-то уже и его инстанс. Я имею в виду юзкейс когда, например, на уровне фреймворка мы определяем: таблицы для этого приложения (читай хоста) будут иметь префикс takoyto_ . А модуль, назовём его для простоты огромнаяБазаНекихВыборок, на уровне свой реализации в качестве имени таблицы для хранения конкатенирует системный префикс с неким именем таблицы. А когда оказывается что выборки мы хотим получать из разных мест и хранить их в разных таблицах, а то и в разных БД, - начинаются выкрутасы. 
<br><br>
По иерархиям сложнее чем кажется. Наверное таксономию нужно отдельно делать (вроде есть готовый бандл). Проблема в классификации информации, например в статьях (хотя почему бы и не в тематических разделах на форуме) - ведь одна и та же страница может быть классифицирована по разному, например:
<br>
С++ -&gt; библитеки -&gt; Графические -&gt; ImageMagick-c++
<br>
Св.Софт -&gt; Графическиий -&gt; ImageMagick -&gt; библиотеки -&gt; ImageMagick-c++
<br>
</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138516</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138516</guid>
<pubDate>Fri, 04 May 2012 10:52:05 +0400</pubDate>
<description><![CDATA[<p><i>>&gt; новости, статьи, форум, галерея </i><br><i>> Не мешай в кучку понятия разного уровня</i><br><br><br>Прекрасно всё укладывается в одну кучу (дерево). Вполне можно сделать так (модель в формате SQLAlchemy). А разделы форума удрать нах, Дженерал, Талк, Дев и т.п переделать в разделы сайта, а остальные типо BSD, Hardvare в Дженерал с пометкой тэгом. Либо сделать Класс &quot;Форум&quot; у которого будет еще один подуровень.<br><br><fieldset><legend>python</legend><code><br />
<span style="color: #ff7700;font-weight:bold;">class</span> BlogEntity<span style="color: black;">&#40;</span><span style="color: #008000;">object</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;Базовый класс &quot;Сущность&quot;<br />
&nbsp; &nbsp; &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; __tablename__ = <span style="color: #483d8b;">'blog_entity'</span><br />
&nbsp; &nbsp; <span style="color: #008000;">id</span> = Column<span style="color: black;">&#40;</span>Integer, primary_key=<span style="color: #008000;">True</span>, autoincrement=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; title = Column<span style="color: black;">&#40;</span>String, nullable=<span style="color: #008000;">False</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; content = Column<span style="color: black;">&#40;</span>String, nullable=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; parent_id = Column<span style="color: black;">&#40;</span>Integer, ForeignKey<span style="color: black;">&#40;</span><span style="color: #483d8b;">'blog_entity.id'</span><span style="color: black;">&#41;</span>, nullable=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; parent = relationship<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Parent&quot;</span>, backref=backref<span style="color: black;">&#40;</span><span style="color: #483d8b;">'children'</span>, order_by=<span style="color: #008000;">id</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><br />
<br />
<span style="color: #ff7700;font-weight:bold;">class</span> BlogCharter<span style="color: black;">&#40;</span>BlogEntity<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;Класс объектов &quot;Раздел&quot;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; Класс для объектов определяющих разделы сайта.<br />
&nbsp; &nbsp; &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; name = aliased<span style="color: black;">&#40;</span>title<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; description = aliased<span style="color: black;">&#40;</span>content<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; topics = aliased<span style="color: black;">&#40;</span>children<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> NewPost<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, title, content<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;Создание нового поста в разделе&quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">topics</span>.<span style="color: black;">append</span><span style="color: black;">&#40;</span>BlogPost<span style="color: black;">&#40;</span>title, content<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">topics</span>.<span style="color: black;">save</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; <br />
<span style="color: #ff7700;font-weight:bold;">class</span> BlogPost<span style="color: black;">&#40;</span>BlogEntity<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;Класс объектов &quot;Пост&quot;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; Класс для объектов определяющих посты в разделы сайта.<br />
&nbsp; &nbsp; &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; charter = aliased<span style="color: black;">&#40;</span>parent<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; comments = aliased<span style="color: black;">&#40;</span>children<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <br />
<br />
<span style="color: #ff7700;font-weight:bold;">class</span> BlogComment<span style="color: black;">&#40;</span>BlogEntity<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;Класс объектов &quot;Коментарий&quot;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; Класс для объектов определяющих коментарии к постам.<br />
&nbsp; &nbsp; &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; post = aliased<span style="color: black;">&#40;</span>parent<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; comments = aliased<span style="color: black;">&#40;</span>children<span style="color: black;">&#41;</span><br />
&nbsp;</code></fieldset><br><br></p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138510</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138510</guid>
<pubDate>Fri, 04 May 2012 10:16:04 +0400</pubDate>
<description><![CDATA[<p>В данный момент вообще есть всего три типа - треды (новость, статья, стартовый пост в галерее, стартовый пост на форуме), комментарии, причем комментарий привязан к треду для первого поста, и разделы, одной кучей. То есть тред не несёт в себе текст, автора и другую информацию - всё в привязанном комментарии. Мне кажется, что примерно то же самое и надо делать.<br><br><i>>А раздел &quot;статьи&quot;, тред, форум, галерея - это контейнеры этих страничек</i><br> Есть ещё подразделы. Мне кажется, что все контейнеры можно согнать в один класс, затем сделать класс для тредов и класс для сообщений. Контейнеры, назовём их категории, можно организовать древовидно (как сейчас оно и есть, на самом деле).<br><br>Например<br><br>- Новости<br /> -- Документация<br /> -- Линукс в России<br /> -- ...<br /> - Галерея<br /> -- Скриншоты<br /> -- Рабочие места<br /> -- ...<br /> - Форум<br /> -- General<br /> -- Talks<br /> - Статьи<br /> -- General<br /> -- ...<br><br>Соответственно, тред будет привязан к категории, комментарий - к треду. Единственный вопрос - как хранить немного отличающуюся информацию у треда. Сейчас на всё одна таблица, а поля &quot;ссылка на новость&quot;, &quot;изображение&quot; и &quot;подтверждено&quot; просто не заполняются для форума, да и не выводятся. Как организовать сейчас - надо думать. Информацию о типе шаблона, допустим, можно и в свойствах самого раздела хранить, например, у раздела Новости шаблоны одного типа, а у галерей - другого. С другой информацией пока не знаю, не придумал. Думаю, это ещё надо не один раз обсудить.<br><br>Кстати, тред как общий объект для всего делает лёгким ещё одну вещь - перенос из новостей в форум и обратно.<br><br>И насчёт бандлов - по мне так сообщения, треды и разделы - один бандл, т.к. отдельно они существовать вообще не могут, так как тесно связаны. Вот темы, наверное, можно вынести, тут надо думать.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138509</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138509</guid>
<pubDate>Fri, 04 May 2012 09:58:10 +0400</pubDate>
<description><![CDATA[<p>&gt; новости, статьи, форум, галерея
<br>
Не мешай в кучку понятия разного уровня
<br>
<br>
По своей сути новость, статья, пост на форуме, пост в галерее - это объекты одного типа: страничка с форматированным текстом и включением ресурсов - картинок например.
<br>
А раздел &quot;статьи&quot;, тред, форум, галерея - это контейнеры этих страничек (за исключением форума, который работает контейнером тредов) со специфическими свойствами, правилами авторизации и т.п. </p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138508</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138508</guid>
<pubDate>Fri, 04 May 2012 09:47:53 +0400</pubDate>
<description><![CDATA[<p><i>>Не надо нам такого. Зачем вкладывать авторизацию в свой бандл, например, если для этого есть готовое решение? И есть готовый бандл для опенИД.</i><br> Не, я немного не про то. Я про ту часть, где есть шаблоны и разделы. Мне кажется, что все разделы (новости, статьи, форум, галерея) можно реализовать внутри одного модуля, причем сделать так, чтобы их число можно было менять в дальнейшем без правки кода. Как минимум, у меня в голове есть определённая идея, надо её попробовать будет, может ещё не получится. Если сработает, то тогда разница между разделами будет только в шаблонах.<br><br>По мне так смысл бандла в том, чтобы он был относительно независимым от других. Иначе получается, что, например, два бандла надо обязательно ставить вместе, и непонятно, где тут модульность и зачем огород городить. В случае же со всякими разметками, опенИД и прочим бандлы нужны, т.к. тут модульность вполне есть.<br><br></p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138507</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138507</guid>
<pubDate>Fri, 04 May 2012 09:40:25 +0400</pubDate>
<description><![CDATA[<p>Не надо нам такого. Зачем вкладывать авторизацию в свой бандл, например, если для этого есть готовое решение? И есть готовый бандл для опенИД. Есть готовый бандл для ББ-кода. И т.п. Нужно по максимуму использовать готовые решения, а если приходится писать свои - то делить их на функциональные части, которые могут быть переиспользованы в других проектах по отдельности. Я щетаю.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138505</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138505</guid>
<pubDate>Fri, 04 May 2012 09:29:12 +0400</pubDate>
<description><![CDATA[<p><i>>разделы сайта сделать модулями движка</i><br> А по мне так весь рулинукс логично укладывается в один бандл.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138502</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138502</guid>
<pubDate>Fri, 04 May 2012 09:09:00 +0400</pubDate>
<description><![CDATA[<p>для модулей (кстати, в Симфони следует называть их &quot;бандлами&quot; - это не модули, это намного лучше (тм) ) всё предусмотрено искаропки:
<br>
<br>
По умолчанию темплейты могут находиться в двух разных местах:
<br>
<ul><li>&nbsp;app/Resources/views/: Шаблоны уровня приложения и шаблоны, которые могут перекрывать шаблоны бандлов (см. Overriding Bundle Templates) 
<li>&nbsp;path/to/bundle/Resources/views/: каждый бандл держит свои темплейты в своей директории Resources/views и её поддиректориях.</ul>
...
<br><br>
Overriding Bundle Templates
<br>
...<br>
Для перекрытия темплейта бандла AcmeBlogBundle просто скопируйте src/Acme/BlogBundle/Resources/views/Blog/index.html.twig в app/Resources/AcmeBlogBundle/views/Blog/  (этой директории ещё нет и вам придётся её создать), теперь вы можете извращаться над дизайном темплейта до наступления усрачки.   
<br><br>
Темплейты, используемые ядром - это просто темплейты и могут быть перекрыты таким же образом. 
<br><br>
(с) <a href="http://symfony.com/doc/current/book/templating.html">http://symfony.com/doc/current/book/templating.html</a>
<br><br>
---------------------------------------------------------------------
<br><br>
Доп.ресурсы:
<br>
<br>
Бандл для поддержки тем: http://knpbundles.com/liip/LiipThemeBundle - косвенное свидетельство отсутствия поддержки тем в ядре?
</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138499</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138499</guid>
<pubDate>Fri, 04 May 2012 08:12:36 +0400</pubDate>
<description><![CDATA[<p>не суть. смысл в усложнении задачи</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138494</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138494</guid>
<pubDate>Fri, 04 May 2012 07:17:15 +0400</pubDate>
<description><![CDATA[<p>&gt; Поиск шаблона нужен еще и в каталоге модуля. Т.е. сперва ищем шаблон в каталоге с темой, затем в каталоге с модулем(разделы сайта сделать модулями движка) и уж потом в дефолтном каталоге.
<br>
<br>
В модуле - в последнюю очередь. Потому что модуль совсем ничего не знает об оформлении сайта. 
</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138483</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138483</guid>
<pubDate>Fri, 04 May 2012 04:52:13 +0400</pubDate>
<description><![CDATA[<p><i>> Твиг вижу первый раз, симфони2 тоже, я в ту сторону иду?:)</i><br> Да всё правильно. У TWig хорошая наследственность, все эти фишки с его  расширением давно на jinja2 в Питоне отработаны, а DI позволяет его красиво с другими компонентами объединять.<br><br> Только по моему без расширение Твига это можно сделать, хотя с другой стороны сделал расширение и юзай во всех проектах не парясь.)))</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138482</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138482</guid>
<pubDate>Fri, 04 May 2012 04:17:10 +0400</pubDate>
<description><![CDATA[<p>Ок. Тогда почаще проверяй раздел Web-development.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138481</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138481</guid>
<pubDate>Fri, 04 May 2012 04:16:07 +0400</pubDate>
<description><![CDATA[<p><div class="quote"><pre>Да уж.. Тюксоед, падло, всех возбудил а сам свалил.</pre></div></p><p></p><p>Все вопросы к Ха-Ха. Это он надоумил переписывать на симфонии. Так-что со своим возбуждением обращайся к нему.</p><p></p><p><div class="quote"><pre>Небось дрыхнет уже, а мы тут мануалы по этой херне роем.</pre></div></p><p></p><p>Естественно. После хорошей тренировки нужен хороший сон. Иначе мышцы восстанавливаться не будут. Так-что в дни тренировок спать не позже 22:00 накрайняк в 22:30</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138478</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138478</guid>
<pubDate>Fri, 04 May 2012 03:57:58 +0400</pubDate>
<description><![CDATA[<p>Немного усложним ситуацию. Поиск шаблона нужен еще и в каталоге модуля. Т.е. сперва ищем шаблон в каталоге с темой, затем в каталоге с модулем(разделы сайта сделать модулями движка) и уж потом в дефолтном каталоге.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138472</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138472</guid>
<pubDate>Fri, 04 May 2012 00:30:06 +0400</pubDate>
<description><![CDATA[<p>Это всё равно Inheritance. А должен быть Replacement. Иди спать - завтра найдёшь, заодно и нам расскажешь.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138471</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138471</guid>
<pubDate>Fri, 04 May 2012 00:22:52 +0400</pubDate>
<description><![CDATA[<p><i>>Всё равно должно делаться как-то безгшеморно, ситуация же стандартная</i><br> По идее можно и так, я тут обнаружил:<br><br>{% extends [&quot;RulinuxEngineBundle::themes/&quot; ~ theme ~ &quot;/base.html.twig&quot;, &quot;RulinuxEngineBundle::base.html.twig&quot;] %}, где theme надо достать из сессии (сходу не скажу как, но должно быть просто). Тоже вариант, но такое придётся писать в заголовке каждого шаблона. Даже не знаю, нормально ли повторять одно и то же в куче файлов. По идее моя штука делает то же самое.<br><br>Впрочем, возможно данное решение и лучше, чем экстеншен.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138469</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138469</guid>
<pubDate>Fri, 04 May 2012 00:18:28 +0400</pubDate>
<description><![CDATA[<p>Всё равно должно делаться как-то безгеморно, ситуация же стандартная</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138468</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138468</guid>
<pubDate>Fri, 04 May 2012 00:16:54 +0400</pubDate>
<description><![CDATA[<p>&gt; Ночь уже, спать пора.
<br><br>
Да уж.. Тюксоед, падло, всех возбудил а сам свалил. Небось дрыхнет уже, а мы тут мануалы по этой херне роем..</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138467</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138467</guid>
<pubDate>Fri, 04 May 2012 00:15:50 +0400</pubDate>
<description><![CDATA[<p><i>>Replacement: If you use the filesystem loader, Twig loads the first template it finds in a list of configured directories;</i><br> Там немного не твиговский лоадер, а <a href="https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/TwigBundle/Loader/FilesystemLoader.php">самодельный</a> от симфони. У них и пути в специальном формате, Bundle:Controller:Filename, а не как у дефолтного твига. Я решил так глубоко не лезть.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138465</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138465</guid>
<pubDate>Fri, 04 May 2012 00:09:37 +0400</pubDate>
<description><![CDATA[<p><i>>А ты когда silex рекомендовал - какой движок темплейтов имел в?</i><br> Это я выразился плохо, я внутренности твига на таком уровне вижу впервые. Ночь уже, спать пора.<br><br>Сам синтаксис там скопирован с jinja2, который, в свою очередь, имеет довольно много общего с шаблонизатором django. А с обоими указанными языками шаблонов я много работал. </p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138464</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138464</guid>
<pubDate>Fri, 04 May 2012 00:06:46 +0400</pubDate>
<description><![CDATA[<p>&gt; я в ту сторону иду?
<br><br>
Подозреваю что не очень в ту:
<br>
<div class="quote"><pre>A template can be customized in two different ways:
<br>
Inheritance: A template extends a parent template and overrides some blocks;
<br>
Replacement: If you use the filesystem loader, Twig loads the first template it finds in a list of configured directories; a template found in a directory replaces another one from a directory further in the list.</pre></div>
(c) http://twig.sensiolabs.org/doc/recipes.html
<br><br>
Я так понимаю, что если предполагается частично перекрывать дефолтные темплейты, то это всё будет работать само, просто надо путь к дефолтным темплейтам подложить в конец списка директорий (см. &quot;Replacement&quot;)</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138463</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138463</guid>
<pubDate>Fri, 04 May 2012 00:01:00 +0400</pubDate>
<description><![CDATA[<p>&gt; Твиг вижу первый раз, симфони2 тоже
<br><br>
А ты когда silex рекомендовал - какой движок темплейтов имел в?</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138460</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138460</guid>
<pubDate>Thu, 03 May 2012 23:43:11 +0400</pubDate>
<description><![CDATA[<p><i>>думаю эта фишка там тоже сработает.</i><br> Там надо if-ы в шаблоне ставить, це некрасиво и многословно. А ещё надо в сессию лазить, так как у анонимусов только там тема и лежит. <br><br>В общем, решил я попробовать написать twig extension для упрощения данного, так как кастомный лоадер для него как-то неинтересно делать. <br><br>Так от них документации не допросишься, еле нашел, как получить Twig_Engine в самом экстеншене. <br><br>Вот такое вышло:<br><br><fieldset><legend></legend><code><br />
<span style="color: #339933;">&lt;?</span>php<br />
<br />
namespace Rulinux\EngineBundle\Twig<span style="color: #339933;">;</span><br />
<br />
use Twig_Extension<span style="color: #339933;">;</span><br />
use Twig_Function_Method<span style="color: #339933;">;</span><br />
<br />
class ThemeExtension extends Twig_Extension<br />
<span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; public <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span>$container<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $this<span style="color: #339933;">-&gt;</span>container <span style="color: #339933;">=</span> $container<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <br />
<br />
&nbsp; &nbsp; public <span style="color: #000000; font-weight: bold;">function</span> getFunctions<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> array<span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff0000;">'current_theme'</span> <span style="color: #339933;">=&gt;</span> new Twig_Function_Method<span style="color: #009900;">&#40;</span>$this<span style="color: #339933;">,</span> <span style="color: #ff0000;">'currentTheme'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; public <span style="color: #000000; font-weight: bold;">function</span> currentTheme<span style="color: #009900;">&#40;</span>$tplName<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/* Get theme from session */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $theme <span style="color: #339933;">=</span> $this<span style="color: #339933;">-&gt;</span>container<span style="color: #339933;">-&gt;</span>get<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'request'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>getSession<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>get<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'theme'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>$theme<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> $tplName<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/* Create name for template from theme directory */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $splitPoint <span style="color: #339933;">=</span> strrpos<span style="color: #009900;">&#40;</span>$tplName<span style="color: #339933;">,</span> <span style="color: #ff0000;">':'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $prefix <span style="color: #339933;">=</span> substr<span style="color: #009900;">&#40;</span>$tplName<span style="color: #339933;">,</span> 0<span style="color: #339933;">,</span> $splitPoint<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $suffix <span style="color: #339933;">=</span> <span style="color: #ff0000;">'themes/'</span>.$theme.<span style="color: #ff0000;">'/'</span>.<span style="color: #202020;">substr</span><span style="color: #009900;">&#40;</span>$tplName<span style="color: #339933;">,</span> $splitPoint<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $tplThemeName <span style="color: #339933;">=</span> $prefix.$suffix<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>$this<span style="color: #339933;">-&gt;</span>container<span style="color: #339933;">-&gt;</span>get<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'templating'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>exists<span style="color: #009900;">&#40;</span>$tplThemeName<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> $tplThemeName<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> $tplName<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; public <span style="color: #000000; font-weight: bold;">function</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #ff0000;">'theme_extension'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
&nbsp;</code></fieldset><br><br>В .../services.yml:<br><br><fieldset><legend></legend><code><br />
<span style="color: #339933;">#....</span><br />
<br />
services<span style="color: #339933;">:</span><br />
&nbsp; &nbsp; rulinux_engine.<span style="color: #202020;">twig</span>.<span style="color: #202020;">theme_extension</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; class<span style="color: #339933;">:</span> Rulinux\EngineBundle\Twig\ThemeExtension<br />
&nbsp; &nbsp; &nbsp; &nbsp; arguments<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>@service_container<span style="color: #009900;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; tags<span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">-</span> <span style="color: #009900;">&#123;</span> name<span style="color: #339933;">:</span> twig.<span style="color: #202020;">extension</span> <span style="color: #009900;">&#125;</span><br />
&nbsp;</code></fieldset><br><br>И в шаблоне:<br><br><fieldset><legend></legend><code><br />
<span style="color: #009900;">&#123;</span><span style="color: #339933;">%</span> extends current_theme<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;RulinuxEngineBundle::base.html.twig&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span><span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#123;</span><span style="color: #339933;">%</span> block center <span style="color: #339933;">%</span><span style="color: #009900;">&#125;</span><br />
Hello <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#123;</span> name <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#123;</span><span style="color: #339933;">%</span> endblock <span style="color: #339933;">%</span><span style="color: #009900;">&#125;</span><br />
<br />
&nbsp;</code></fieldset><br><br>Итого мы получаем, что current_theme(&quot;RulinuxEngineBundle::base.html.twig&quot;) возвращает либо &quot;RulinuxEngineBundle::themes/user_theme/base.html.twig&quot;, если файл существует, либо дефолтный &quot;RulinuxEngineBundle::base.html.twig&quot;. По идее с файлами вида BundleName:ControllerName:Filename сработает так же. Вот теперь смотрю на это, и думаю, может пригодится в дальнейшем.<br><br>Твиг вижу первый раз, симфони2 тоже, я в ту сторону иду?:)</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138456</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138456</guid>
<pubDate>Thu, 03 May 2012 21:16:03 +0400</pubDate>
<description><![CDATA[<p><i>> Скажи самый правильный (с точки зрения симфони и красивого кода) способ выбора разных шаблонов для разных тем, с фоллбэком на дефолтный,</i><br> В Twigе это надо делать. Так как это собственно говоря jinja переписанная на Пыхе, думаю <a href="http://jinja.pocoo.org/docs/tricks/#null-master-fallback">эта фишка</a> там тоже сработает.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138453</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138453</guid>
<pubDate>Thu, 03 May 2012 20:16:18 +0400</pubDate>
<description><![CDATA[<p><i>>Одобрям! Если что кидай сюда вопросы - помогу разобраться.</i><br> Скажи самый правильный (с точки зрения симфони и красивого кода) способ выбора разных шаблонов для разных тем, с фоллбэком на дефолтный, если шаблон отсутствует. Т.е. есть у нас news.tpl (образно), сначала поискать его в themes/some_theme/news.tpl, а затем, если его нет, в themes/default/news.tpl. Аналогично и со статикой вроде css. </p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138448</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138448</guid>
<pubDate>Thu, 03 May 2012 19:45:42 +0400</pubDate>
<description><![CDATA[<p>Одобрям!  Если что кидай сюда вопросы - помогу разобраться.</p>]]></description>
</item>
<item>
<title>Re:Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138446</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138446</guid>
<pubDate>Thu, 03 May 2012 18:54:04 +0400</pubDate>
<description><![CDATA[<p>Откуда бы дёрнуть актуальную по структуре тестовую базу?</p>]]></description>
</item>
<item>
<title>Касательно переписывания движка на симфони.</title>
<link>https://rulinux.net/message.php?newsid=36951&amp;page=1#138439</link>
<guid>https://rulinux.net/message.php?newsid=36951&amp;page=1#138439</guid>
<pubDate>Thu, 03 May 2012 18:16:19 +0400</pubDate>
<description><![CDATA[<p>Чтож пожалуй начнем эксперимент по переписыванию движка. Оговорюсь сразу это эксперимент и в случае чего может затянуться или в крайнем случае вообще быть признанным неудавшимся. Специально для этих целей я создал репозиторий <a href="https://gitorious.org/rulinux-engine/rulinux-symfony">rulinux-symfony</a> и домен третьего уровня <a href="http://symfony.rulinux.net">http://symfony.rulinux.net</a> Примерно недельку я буду читать маны по симфонии, затем потихоньку начну делать. Архитектура БД останется примерно такой-же с небольшими косметическими изменениями для новых фич типа отдельных табличек для истории правок сообщения или выноса нескольких колонок из таблицы тредов в доп. таблицы завязанные на разделы. Классы base будут заменены на реализацию из симфонии. Шаблоны будут общими и уникальными для темы. Поиск шаблона производить сперва в каталоге темы, а затем если не найдено, то подключать стандартный. Про реализацию логики пока ничего не могу сказать, станет ясно после прочтения манов. Ах-да еще одним нововведением будет использование фронт-контроллера. В остальном будет все тот-же рулин. wisywig-редактор текста, блекджек и шлюхи будут добавлены позже.</p>]]></description>
</item>
</channel>
</rss>