Статьи для начинающих)

Всё, что касается API и ядра concrete5

Статьи для начинающих)

Сообщение vbnm » 10 июл 2011, 06:44 ,  »  Сообщение:#1

Разработка блока на Конкрете5:
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

гугперевод,активные ссыли ищите на странице оригинала, жаль, что здесь нет спойлер функции))

Создание нового типа блока
ДобавилFRZвРазработчикиИюнь 13, 2008.
8 человек, как это.

Блоки бетонные способ вложения биты содержание и функциональные возможности в ваших страницах. Узнайте больше о том, как конечный пользователь добавляет блоки на страницах здесь.

Из окна Concrete5 поставляется с набором блоков. Однако, несмотря на это достаточно, чтобы получить множество сайтов и работает, первое, что многие разработчики Concrete5 будет сделать, это играть с архитектурой блоков. Это может быть просто изменение уровня представления блока, или вам может понадобиться, чтобы создать нечто совершенно новое, как и блок событий, календарь или продукта. К счастью, работа с блоками в Concrete5 является довольно простым процессом.
Основные шаблона блока

Вот простой блок, который Вы можете скачать и установить в собственной среде.
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

Она используется во разработчика обучающих программ. Примечание: Вам необходимо перейти на Concrete5.0.0b1 или позже, чтобы использовать это.
Введение

Блок представляет собой набор файлов в определенном каталоге, который сам находится в "блоки /" каталог в корневом каталоге вашего сайта. . (Другой блоки каталогов, расположенных в бетон / каталог, включает в себя блоки в комплекте с CMS Для сохранения системы для возможной модернизации, это, наверное, лучше не трогать эти файлы - хотя их слои представления может быть отменено в том числе шаблоны в корневом веб- каталога. Подробнее об этом позже.)
Содержание Блок каталог
add.php

Обязательно. Этот файл отображается, когда шаблон ", добавив," этого блока через систему управления контентом.
edit.php

Дополнительный, хотя в конечном итоге может потребоваться. Этот файл отображается, когда блок находится в режиме редактирования.

Оба add.php и edit.php только простые формы, которые обернуты в бетоне. Как правило, эти элементы формы имеют одинаковые имена, что и таблиц базы данных столбцов.
controller.php

Обязательно. Этот файл содержит некоторые важные параметры, относящиеся к этой блок (его название, описание, его размеры интерфейс, и т.д ...), а также любые предметы, необходимые programmatical. Класс блока также несет ответственность за сохранение блока, хотя многие простые блоки даже не нужно указывать, каким образом они сохраняются до тех пор, как пост переменные сопоставляются с базой данных блока столбцов таблицы.
db.xml

Требуется для любого блока, которой нужно сохранить свои данные в базу данных (что составляет 99% из них). Этот файл содержит выражения, необходимые для создания базы данных вашего блока таблиц в базе данных, указанных в формате ADOXMLS.
auto.js

Необязательно. Если этот файл существует, он автоматически включается, когда блоки в режиме добавить или изменить.
icon.png

Необязательно. Этот графический отображается в интерфейсе бетона всякий раз, когда блок находится в списке.
инструменты /

Необязательно. Продукты в этом каталоге могут быть использованы блок с какой бы целью они считают нужным. Блок AutoNav делает использование этого типа функциональности.
Шаблоны /

Необязательно. Содержится в этом каталоге очередные представления для экземпляров этого блока, который может быть установлен как пользовательские шаблоны через CMS. Например, типичный autonav блока форматов ее вступления в виде неупорядоченного списка, но "Заголовок меню" Шаблон может быть применен к autonav блок, который затем перестраивает меню с DIV-ов.
Установка блока

Перед тем как создать блок, он помогает использовать существующий блок с нуля, мы надеемся, проще, тем лучше. Для этого мы ввели очень простой пример блок для скачивания в нашем разделе загрузок разработчика.

Для установки этого блока:
Распакуйте блока.
Перетащите его в свой Concrete5 блоки / папки, которые, вероятно, будет пуст.
Войти в свой Concrete5 установки, и выберите "добавить функциональность" в приборной панели.
Вы должны увидеть новый блок в списке доступных для установки (в конце концов установленных блоков.)
Нажмите кнопку Установить.

(Обратите внимание, что эти инструкции относятся к установке блоков, а не пакеты. Если блок, завернутый в пакет формата, она должна быть скопирована в папку / пакетов вместо).

Это должно быть все, что нужно сделать. Блок будет автоматически иметь свои таблицы базы данных создаются и свои записи добавляются в бетон, после чего вы сможете добавить его на своем сайте.

Но как наш блок знаю, что это должен быть назван "Основной тест"? И как он создает в своей базе данных во время установки? Чтобы получить ответ на эти вопросы мы направимся к "controller.php"
Информация по установке 1: Недвижимость в Controller.php

Controller.php содержит данные о нашем блоке, а также методы, которые автоматически запускаются при различных вещи случаются с нашим блоком.
Обязательные свойства

btDescription: Это описание того, что они не были. Это отображается в панели и в надстройке интерфейсный блок.

btName: Название блока.
Дополнительные свойства

btTable: Первичные таблицы базы данных блока. Если он указан, и если блок использует только эту таблицу базы данных, то блок будет иметь возможность автоматически сохранять свою информацию на эту таблицу, при условии, форма блока поля отображаются прямо на столбцы в базе данных.

btInterfaceWidth: Ширина модальное окно диалоговое окно, которое занимает этот блок, когда он добавляется или отредактированы.

btInterfaceHeight: Высота модальное окно диалоговое окно, которое занимает этот блок при добавлении или изменении.

Итак, вы видите,этокак наш блок знал, что она должна была называться «Базовый тест": он содержится в файле класса нашего блока. Как вы можете видеть, это степень контроллер нашей тестовой блока. Более подробную информациюможетбыть в этом контроллере, однако (Есть еще примеры допустимых методов контроллера ниже.)

Информация по установке 2: db.xml

Теперь, когда мы знаем, как наш блок получает свое описание и имя во время установки, давайте проверим, как он строит свою таблицу базы данных. В нашей основной блок тестов, мы определили наши таблицы базы данных, как "btBasicTest". Теперь откройте db.xml в каталоге блока. Внутри вы найдете наш btBasicTest таблицы базы данных определяется как XML:
Код: Выделить всё
<?xml version="1.0"?>
<schema version="0.3">
    <table name="btBasicTest">
        <field name="bID" type="I">
            <key ></key>
            <unsigned ></unsigned>
        </field>
        <field name="content" type="X2">
        </field>
    </table>
</schema>

Это должно быть сравнительно легко читается: во-первых, мы определяем таблицу, как называли btBasicTest. Теперь определим наш первый поле, которое называется BID, и целый тип. Она также определяется как без знака, и первичный ключ таблицы. Далее, мы имеем столбец с именем "содержание", которое LONGTEXT типа (это то, что "X2" значит.)

Схема для этого файла AXMLS.Вы можете узнать больше об этом здесь, В том числе, как задать различные типы столбцов.

И последнее: каждый стол, указанные btTable собственности контроллерадолженесть BID в качестве первичного ключа. Это целое число (и не установлен в auto_increment.) Этот ключ карты для записи в основной таблице Concrete5 в блоки, и используется, чтобы присоединиться к вашей блока данных конкретного Concrete5 данные о блоке (метаданные, его позиционирование, версий и т.д. ..)

Теперь давайте посмотрим, как наш блок работает. Попробуйте добавить его на страницу. Вы должны увидеть простую форму. Чтобы узнать, как эта форма будет построен, проверить add.php

add.php

Откройте учебную блока и проверить add.php. Первое, что вы заметите, что там не так много здесь.
Код: Выделить всё
<p>Introductory paragraph text....</p>
 
<?=$form->label('content', 'Name');?>
<?=$form->text('content', array(
    'style' => 'width: 320px'
));?>

Вводный текст пункта .... этикетке («содержание», «Имя');?> текст («содержание», массив ('стиль' => 'Ширина: 320px "));?>

Этот код очень легко читать. Сначала мы должны наш вводный абзац. Потом, у нас есть метка для нашего единого поля формы, в качестве вывода по HTML помощника. Затем помощник HTML выходы текстовое поле с именем "содержание". Для стиля поле ввода текста, мы проходим через ассоциативный массив в качестве второго варианта с некоторыми сведения о стиле.

Когда блок этого типа добавляется через CMS, весь этот блок PHP и HTML будут завернуты в форме, которая будет контролировать представления содержимого бетона. Чтобы убедиться, что содержимое формы направляются правильно таблицы базы данных блоков, вы должны назвать вашего поля формы же, как и столбцов базы данных таблицы. (Примечание: Это ориентир, но в конце концов, это всего лишь форма Вы можете назвать его как хотите Вы не должны использовать форму бетона пунктов помощник либо - хотя они не могут быть дополнительно один день.. .)
Отправка "Добавить блок" Форма

Когда ваш блок добавляется через CMS, вы увидите кнопку "Добавить" под область основного содержимого вашего добавить шаблон. При нажатии на эту кнопку, Бетонные перенаправляет запрос к контроллеру для вашего блока, и автоматически вызывает сохранить () метод.

Если ваш блок простой, и не нужно ничего делать, но сохранили представленных полей в базе данных как они есть, вам даже не нужно реализовать свой собственный сохранить () метод - блок контроллера Concrete5 будет делать, когда для Вас. Вот почему, когда вы проверить контроллер для испытательный блок, вы не увидите сохранить () метод на всех.
Редактирование блока с edit.php

Edit.php это PHP файл автоматически отображается, когда блок находится в режиме редактирования. В большинстве случаев это будет очень, очень похожий на add.php, с некоторыми незначительными дополнениями, чтобы расхождение существующих значений блока полей для элементов формы.

Вот содержание нашего базового шаблона блока тест редактирования:

Это отредактировать шаблон для базового блока теста.

Код: Выделить всё
<?=$form->label('content', 'Name');?>
<?=$form->text('content', $content,
    array('style' => 'width: 320px')
);?>

этикетке («содержание», «Имя');?> текст («содержание», $ содержание, массив ('стиль' => 'Ширина: 320px'));>?

Это выглядит почти идентично добавить шаблон, но убедитесь, что вы заметили $ содержание параметра. В нашем типичном контроллере блок, значение столбцов базы данных автоматически извлекаются и помещаются в локальной области видимости. Затем мы передаем эти данные в форму помощник, так что его можно отобразить в режиме редактирования.

Что это значит, точно? Это означает, что по умолчанию все столбцы в вашей базе данных, для текущая ставка, будут доступны как PHP переменные в вашем просматривать и редактировать шаблоны.
Просмотр ваш блок

Вид шаблона для блока так же, как шаблон редактирования, но еще проще. Она выводит текущие сохраненные значения для блока, вместе с какой-либо конкретной презентации блока. Для HTML-блок контента, это может быть просто распечатка точное содержание переменной $ блока. Для autonav, она может включать в себя анализ настроек, сохраненных и построения дерева на их основе. Для события Вы могли бы быть сохранены разбора даты в календаре интерфейс.
Настройка пользовательских слоев Презентация для существующих блоков

Для многих сайтов, включенных в блоки бетона будет достаточно. А для других, вы должны создать свой собственный полностью настроили под себя. Однако, если вы обнаружили, желающих использовать блок, встроенный в с бетоном, но с шаблон только для вашего сайта, это раздел для вас.
Обновление глобальный шаблон для встроенного блока

Скажем, вы хотите, чтобы ваши autonav блок всегда использовать DIVs вместо элементов списка. Вместо обновления блоков / содержание / autonav / view.php (которые затем будут перезаписаны при обновлении происходит), создавать блоки / autonav.php в каталоге веб-сервера. Этот шаблон будет автоматически использоваться ваш autonav блока.
Создание дополнительных пользовательских шаблонов для блоков

Чтобы создать пользовательский шаблон для блока, который в то доступна в "Выберите пользовательского шаблона" диалоговом окне Создать "Шаблоны /" каталога в каталог, соответствующий вашей блока в локальном каталоге блоков. Вот так. Что глоток. Как насчет, например?

Допустим, вы хотите создать новый шаблон для вашего autonav блока. Встроенный шаблон autonav в основном хорошо, но вы хотите "цепочка" шаблонов, а также. В вашем местном блоки / каталог (который, как правило, пусты при установке Concrete5), создать

autonav / шаблоны / breadcrumb.php

Вставьте код из бетона / блоки / autonav / view.php в этот файл, а затем изменить в случае необходимости. Затем, когда вы хотите использовать этот шаблон, нажмите на блок, который Вы хотите изменить, и выберите "Choose Custom Template" из меню. Ваш "Breadcrumb" шаблон должен появиться в меню выбора.
Дополнительные необязательные методы в контроллере вашего блока

В большинстве блоков, не будет никакой необходимости переопределять их в ваш контроллер. Однако, если ваш блок является более сложной, вам придется. Следующие методы используют вашим блоков в определенных ситуациях:
установить ()

При этом автоматически запускается, когда блок установлен. Как правило, она анализирует db.xml файл блока, но если вам нужно настроить новые каталоги или написать некоторые другие объекты в базе данных, это, где это сделать
сохранить ($ аргументы)

Этот метод автоматически вызывается с ассоциативный массив ключей и значений, когда блок добавляется или отредактированы.
дублировать ($ newBlockID)

Этот метод вызывается для существующего блока и с учетом нового идентификатора блока, и тогда ответственность за принятие всех данных о текущем экземпляре и убедившись, что данные карты для нового экземпляра блока.
удалить ()

Этот метод отвечает за очистку всю информацию о блоке, когда он удаляется.

ВАЖНО: Убедитесь, что вызов родителей:: __methodname ();, когда вы сделали с вашей пользовательский код.

Что это значит, точно? Это означает, что по умолчанию все столбцы в вашей базе данных, для текущая ставка, будут доступны как PHP переменные в вашем просматривать и редактировать шаблоны.
Просмотр ваш блок

Вид шаблона для блока так же, как шаблон редактирования, но еще проще. Она выводит текущие сохраненные значения для блока, вместе с какой-либо конкретной презентации блока. Для HTML-блок контента, это может быть просто распечатка точное содержание переменной $ блока. Для autonav, она может включать в себя анализ настроек, сохраненных и построения дерева на их основе. Для события Вы могли бы быть сохранены разбора даты в календаре интерфейс.
Настройка пользовательских слоев Презентация для существующих блоков

Для многих сайтов, включенных в блоки бетона будет достаточно. А для других, вы должны создать свой собственный полностью настроили под себя. Однако, если вы обнаружили, желающих использовать блок, встроенный в с бетоном, но с шаблон только для вашего сайта, это раздел для вас.
Обновление глобальный шаблон для встроенного блока

Скажем, вы хотите, чтобы ваши autonav блок всегда использовать DIVs вместо элементов списка. Вместо обновления блоков / содержание / autonav / view.php (которые затем будут перезаписаны при обновлении происходит), создавать блоки / autonav.php в каталоге веб-сервера. Этот шаблон будет автоматически использоваться ваш autonav блока.
Создание дополнительных пользовательских шаблонов для блоков

Чтобы создать пользовательский шаблон для блока, который в то доступна в "Выберите пользовательского шаблона" диалоговом окне Создать "Шаблоны /" каталога в каталог, соответствующий вашей блока в локальном каталоге блоков. Вот так. Что глоток. Как насчет, например?

Допустим, вы хотите создать новый шаблон для вашего autonav блока. Встроенный шаблон autonav в основном хорошо, но вы хотите "цепочка" шаблонов, а также. В вашем местном блоки / каталог (который, как правило, пусты при установке Concrete5), создать

autonav / шаблоны / breadcrumb.php

Вставьте код из бетона / блоки / autonav / view.php в этот файл, а затем изменить в случае необходимости. Затем, когда вы хотите использовать этот шаблон, нажмите на блок, который Вы хотите изменить, и выберите "Choose Custom Template" из меню. Ваш "Breadcrumb" шаблон должен появиться в меню выбора.
Дополнительные необязательные методы в контроллере вашего блока

В большинстве блоков, не будет никакой необходимости переопределять их в ваш контроллер. Однако, если ваш блок является более сложной, вам придется. Следующие методы используют вашим блоков в определенных ситуациях:
установить ()

При этом автоматически запускается, когда блок установлен. Как правило, она анализирует db.xml файл блока, но если вам нужно настроить новые каталоги или написать некоторые другие объекты в базе данных, это, где это сделать
сохранить ($ аргументы)

Этот метод автоматически вызывается с ассоциативный массив ключей и значений, когда блок добавляется или отредактированы.
дублировать ($ newBlockID)

Этот метод вызывается для существующего блока и с учетом нового идентификатора блока, и тогда ответственность за принятие всех данных о текущем экземпляре и убедившись, что данные карты для нового экземпляра блока.
удалить ()

Этот метод отвечает за очистку всю информацию о блоке, когда он удаляется.

ВАЖНО: Убедитесь, что вызов родителей:: __methodname ();, когда вы сделали с вашей пользовательский код.
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

Re: Статьи для начинающих)

Сообщение Jimmbo » 10 июл 2011, 21:18 ,  »  Сообщение:#2

боже мой.. ЧТО ЭТО?? я понимаю, что вы хотели выложить статью для начинающий, однако вы сами то этот перевод читали? Любого начинающего вы запутаете ещё больше и он совершенно здесь ничего не поймет. Я бы не советовал такие статьи выкладывать:) или уж приведите к нормальному виду это или просто не публикуйте. Начинающий и так может засунуть это в переводчик и перевести, а вот привести к нормальному понятному виду сможет не каждый. Попрошу удалить этот пост, ибо он по большей части не является статьей для начинающих... методы, стили - на русский переведены, хотя они в коде только на английском языке употребляются.
Jimmbo
 
Сообщения: 36
Зарегистрирован: 05 сен 2010, 00:41

Re: Статьи для начинающих)

Сообщение cmsservice » 11 июл 2011, 08:43 ,  »  Сообщение:#3

Jimmbo: +1
2vbnm: Согласен с Jimmbo, приведите в нормальный вид или ждите, когда мы сделаем качественный перевод этой статьи. Вообще не понимаю, какая сложность для программиста читать на английском? Этот навык must be для тех кто занимается программированием.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Статьи для начинающих)

Сообщение Count_Raven » 11 июл 2011, 15:14 ,  »  Сообщение:#4

Все! Я поцталом! Прекратите поясничать! :D
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Статьи для начинающих)

Сообщение cmsservice » 11 июл 2011, 22:35 ,  »  Сообщение:#5

Слушай, не мешай прикалываться :)
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Статьи для начинающих)

Сообщение Count_Raven » 12 июл 2011, 12:17 ,  »  Сообщение:#6

Скоро начну банить троллей :D
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Статьи для начинающих)

Сообщение vbnm » 12 июл 2011, 18:51 ,  »  Сообщение:#7

для особо одаренных там в начале есть примечание:
гугперевод,активные ссыли ищите на странице оригинала, жаль, что здесь нет спойлер функции))

обсуждать после этого качество и мое авторство???
мне нравится фильм "тупой еще тупее" )))
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

Re: Статьи для начинающих)

Сообщение Admin » 12 июл 2011, 21:33 ,  »  Сообщение:#8

Тему закрываю. Через 2 дня она будет удалена.
Причины:
это не является статьей для начинающих.
если понадобится новичок и сам сможет засунуть текст в гугл
новичку, знакомому с английским активные ссылки не понадобятся, так как он полностью воспользуется оригиналом, а не будет корявый перевод гугла использовать.

Совет: статья должна быть статьей - понятной, доступной одинаково и для новичка и для разработчика. Если будут хорошие переводы - обязательно создадим на сайте соответствующий раздел с переведенными статьями.
Аватара пользователя
Admin
Администратор
 
Сообщения: 108
Зарегистрирован: 24 авг 2010, 15:01


Вернуться в Разработка Concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron