<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Изменение / добавление своих полей для топика / Вопросы, проблемы и их решения / Alto CMS</title>
			<link>http://79.174.14.219/comments/47/</link>
			<description><![CDATA[Приветствую. Вроде бы, нигде не нашел инструкции или примерного описания, как можно добавить или отредактировать логику работы дополнительных полей для]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #625)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment625</guid>
					<link>http://79.174.14.219/47.html#comment625</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[Добрый день. Это делается в админке. Раздел «Типы контента», в редактировании каждого из типов можно привязать к нему свои дополнительные поля — строковое поле, текстовое поле, выпадающий список, дата, ссылка, прикрепление файла.]]></description>
					<pubDate>Mon, 06 May 2013 20:12:56 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #626)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment626</guid>
					<link>http://79.174.14.219/47.html#comment626</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[Пожалуй, все-таки нужно обзорную статью написать по части типов контента и работе с дополнительными полями.]]></description>
					<pubDate>Mon, 06 May 2013 20:35:26 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #627)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment627</guid>
					<link>http://79.174.14.219/47.html#comment627</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Это замечательно. Только вопрос как раз и состоит в том, чтобы можно было менять обработку этих полей или создавать свои типы полей, а всю функциональность описывать в php файле.]]></description>
					<pubDate>Mon, 06 May 2013 20:51:17 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #628)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment628</guid>
					<link>http://79.174.14.219/47.html#comment628</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[<blockquote>создавать свои типы полей, а всю функциональность описывать в php файле.<br/>
</blockquote>Что мешает сейчас делать доработки и дополнительные поля плагинами, (которые пишутся, конечно, на php)? Хуки, есть в большинстве мест, если где то будет не хватать — можно и наследованиями.<br/>
<br/>
Либо я не совсем вас понял, либо не хватает конкретики и примеров]]></description>
					<pubDate>Mon, 06 May 2013 20:55:33 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #629)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment629</guid>
					<link>http://79.174.14.219/47.html#comment629</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Значит дополнительные поля добавлять только плагинами или хуками. Понятно. Тогда, допустим, за обработку поля «файл» какой модуль/хук отвечает?<br/>
<br/>
А первоначально я хотел узнать у вас, не вынесен ли каждый тип поля в отдельный файл, в котором описывается вся логика его работы. Чтобы можно было изменять или добавлять новые типы полей без лишних заморочек.<br/>
<br/>
Такую систему я встретил в дополнении IP.Content для IP.Board (http://www.invisionpower.com/support/guides/_/advanced-and-developers/ipcontent/creating-database-fields-r161). Там для добавления нового типа поля достаточно было положить файл с необходимым кодом в определенную директорию, а движок сам его подхватывал. Оставалось только указать его в нужном месте.]]></description>
					<pubDate>Mon, 06 May 2013 21:09:56 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #630)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment630</guid>
					<link>http://79.174.14.219/47.html#comment630</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[<blockquote>А первоначально я хотел узнать у вас, не вынесен ли каждый тип поля в отдельный файл</blockquote>Нет, реализация иная. Обработка происходит в экшене и хуке. В MVC модели такие вещи вообще нельзя грамотно сделать именно одним файлом, да и не нужно. Но запрос в целом понятен, у меня есть соображения на счет форм вообще и подобных случаев в частности.]]></description>
					<pubDate>Mon, 06 May 2013 21:33:34 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #631)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment631</guid>
					<link>http://79.174.14.219/47.html#comment631</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Просто, если я правильно понимаю, мне придется каждый раз править код при обновлении движка, а хотелось бы какой-нибудь независимости]]></description>
					<pubDate>Mon, 06 May 2013 23:51:23 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #632)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment632</guid>
					<link>http://79.174.14.219/47.html#comment632</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[Неправильно понимаете, если все делать качественно с использованием плагинов — то подобные вещи будут минимизированы.]]></description>
					<pubDate>Mon, 06 May 2013 23:52:38 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #633)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment633</guid>
					<link>http://79.174.14.219/47.html#comment633</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Будем ковырять, спасибо.]]></description>
					<pubDate>Tue, 07 May 2013 07:55:04 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #634)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment634</guid>
					<link>http://79.174.14.219/47.html#comment634</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[кстати, а почему бы тогда и вам не реализовать это через плагины, чтобы на их примере можно было бы создавать новые или редактировать существующие?]]></description>
					<pubDate>Tue, 07 May 2013 08:46:42 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #805)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment805</guid>
					<link>http://79.174.14.219/47.html#comment805</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Приветствую еще раз. Правильно ли я понимаю, что в текущей версии движка реализовать свои типы полей с помощью хуков или плагинов не получится — в качестве field_type могут выступать только значения 'input', 'textarea', 'photoset', 'link', 'select', 'date', 'map', 'daoobj', 'object', 'user', 'file', 'litepoll', 'gallery'. При попытке добавить с помощью хука свои, вываливается ошибка FIELD_TYPE_ERROR, потому что в функции проверки полей CheckFieldsField жестко прописаны типы, которые могут использоваться.<br/>
Это так или я чего-то еще не знаю?]]></description>
					<pubDate>Sun, 12 May 2013 02:18:44 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #828)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment828</guid>
					<link>http://79.174.14.219/47.html#comment828</link>
					<author>silver-master@list.ru</author>
					<description><![CDATA[А как можно создать поле, например, типа «map»? Не нашел такого.]]></description>
					<pubDate>Sun, 12 May 2013 13:27:35 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #835)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment835</guid>
					<link>http://79.174.14.219/47.html#comment835</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Если речь о том, чтоб прикрутить карту к топику, то скоро будет решение для этого]]></description>
					<pubDate>Sun, 12 May 2013 13:55:45 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #836)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment836</guid>
					<link>http://79.174.14.219/47.html#comment836</link>
					<author>elena.shemarova@gmail.com</author>
					<description><![CDATA[Нормальная реакция. Оооооо, тут и это и есть, и вот это есть. Проходит время, а почему вот этого нет )))))]]></description>
					<pubDate>Sun, 12 May 2013 14:00:07 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #806)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment806</guid>
					<link>http://79.174.14.219/47.html#comment806</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Покопался в наследованиях и в функции CheckFieldsField. Для решения вопроса с проверкой новых типов полей придется в наследованной функции переписывать весь ее код, в котором перечислять новые типы, что потом может обернуться другими проблемами с совместимостью при обновлении движка, например. Я прав?]]></description>
					<pubDate>Sun, 12 May 2013 03:04:55 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #813)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment813</guid>
					<link>http://79.174.14.219/47.html#comment813</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[Верно. Согласен, что не совсем удобно, упростим расширение полей к следующей версии.]]></description>
					<pubDate>Sun, 12 May 2013 11:00:19 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #973)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment973</guid>
					<link>http://79.174.14.219/47.html#comment973</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Долго копался в чем может быть причина удаления загруженных файлов через доп поля, пока не понял, что все значения чистятся в функции processFields() процедурой $this-&gt;Topic_DeleteTopicValuesByTopicId($oTopic-&gt;getId()). Это сделано осознанно или недосмотр?]]></description>
					<pubDate>Tue, 14 May 2013 10:27:02 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #986)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment986</guid>
					<link>http://79.174.14.219/47.html#comment986</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[Это недосмотр, спасибо, исправлю в ближайшие дни.]]></description>
					<pubDate>Tue, 14 May 2013 14:46:45 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #1598)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment1598</guid>
					<link>http://79.174.14.219/47.html#comment1598</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Спасибо за добавление поддержки своих типов полей в коде на гитхабе. Заметил только, что для работы с полем на подобие file, в хуке content_field_proccess не хватает переменной $oTopic, чтобы можно было вызывать метод $oTopic-&gt;getFile().]]></description>
					<pubDate>Sun, 19 May 2013 23:34:09 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #1609)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment1609</guid>
					<link>http://79.174.14.219/47.html#comment1609</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[И, если я не путаю, хук надо вызывать так: $this-&gt;Hook_Run('content_field_proccess',array('sText'=&gt;&$sText,'oField'=&gt;$oField,'oTopic'=&gt;$oTopic)), иначе в $sText не будет возвращаться значение.]]></description>
					<pubDate>Mon, 20 May 2013 00:23:26 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #1709)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment1709</guid>
					<link>http://79.174.14.219/47.html#comment1709</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[Нет, не обязательно, проверьте)]]></description>
					<pubDate>Tue, 21 May 2013 10:43:59 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #1728)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment1728</guid>
					<link>http://79.174.14.219/47.html#comment1728</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[проверил — доп. поля не появились. вернул & — заработало.]]></description>
					<pubDate>Tue, 21 May 2013 12:14:43 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #1676)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment1676</guid>
					<link>http://79.174.14.219/47.html#comment1676</link>
					<author>mifkys@yandex.ru</author>
					<description><![CDATA[Еще заметил. Дополнительные поля почему-то криво кешируются. Добавляю новый топик с доп. полями, но он отображается, как будто без них. Отключаю кеш — доп. поля тут как тут.]]></description>
					<pubDate>Mon, 20 May 2013 17:24:21 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #1710)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment1710</guid>
					<link>http://79.174.14.219/47.html#comment1710</link>
					<author>vladimir.o.yuriev@gmail.com</author>
					<description><![CDATA[проверим.]]></description>
					<pubDate>Tue, 21 May 2013 10:44:08 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #9388)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment9388</guid>
					<link>http://79.174.14.219/47.html#comment9388</link>
					<author>tomot.ru@tomot.ru</author>
					<description><![CDATA[кто продаёт плагин для добавления обязательных полей к регистрации? Куплу мгновенно]]></description>
					<pubDate>Sun, 06 Apr 2014 20:06:42 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #14626)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment14626</guid>
					<link>http://79.174.14.219/47.html#comment14626</link>
					<author>braindep@gmail.com</author>
					<description><![CDATA[Уважаемые разработчики, подскажите, как вместо одного общего вывода кастомных полей вида<br/>
<pre class="prettyprint"><code>{if $oContentType}
            {foreach from=$oContentType-&gt;getFields() item=oField}
                {include file=&quot;fields/customs/field.custom.`$oField-&gt;getFieldType()`-show.tpl&quot; oField=$oField}
            {/foreach}</code></pre><br/>
<br/>
Вывести каждое поле по одиночке? При этом поля разного типа. Полей одного типа может быть несколько.]]></description>
					<pubDate>Sun, 21 Sep 2014 15:52:50 +0400</pubDate>
									</item>
							<item>
					<title>Изменение / добавление своих полей для топика (comment #15221)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/47/#comment15221</guid>
					<link>http://79.174.14.219/47.html#comment15221</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Немного замороченно, но можно. Если не программировать и не писать никаких плагинов, то можно чуть-чуть «накостылить» прямо в шаблонах.<br/>
<br/>
Для начала надо узнать ID полей. К сожалению, увидеть их без того, чтоб лезть в базу, можно только обновившись с гитхаба, в админке там при просмотре типа контента теперь выводятся ID кастомных полей. Либо, если не обновляться, то можно увидеть их в таблице <strong>?_content_field</strong>, поле <strong>field_id</strong>.<br/>
<br/>
Дальше немного проще.<br/>
<br/>
В шаблоне <strong>/common/templates/skin/_skin_name_/tpls/fields/customs/field.custom.textarea-show.tpl</strong> убирается этот самый кусок кода, который приведен выше.<br/>
<br/>
В нужных местах шаблона, где нужно выводить кастомные поля, вставляете такой код:<br/>
<pre class="prettyprint"><code>{if $oContentType}
   {foreach from=$oContentType-&gt;getFields() item=oField}
      {if $oField-&gt;getFieldId() == N}
      {include file=&quot;fields/customs/field.custom.`$oField-&gt;getFieldType()`-show.tpl&quot; oField=$oField}
      {/if}
   {/foreach}
{/if}</code></pre>Здесь N — это как раз ID поля, которое нам надо вывести в конкретном месте.]]></description>
					<pubDate>Mon, 29 Sep 2014 23:28:50 +0400</pubDate>
									</item>
					</channel>
	</rss>
