Оригинал.

Будьте готовы создавать компоненты в Конструкторе компонентов.

00:00:00 (Нажмите на эти временные ссылки, чтобы посмотреть видео на Youtube)

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

 

Используйте Демонстрационные Компоненты Для Создания Внутренних Представлений.

00:00:49

Мы используем распространителя проповедей, который является компонентом, разработанным мной для распространения Проповедей. 00:00:58 Используйте демонстрационный компонент, демонстрирующий, как создавать компоненты. Вам нужно знать, как вы собираетесь это назвать. (Этот называется Распространителем проповедей.) Вам нужно будет знать внутренние представления. 00:01:19 Внутренние представления в Joomla должны быть плотно подключены к базе данных.

 

Цель Конвенций.

00:01:40

Иллюстрируя наилучшее соглашение о реализации, конструктор компонентов позволит вам нарушить эти соглашения, но позже вы пожалеете об этом и, возможно, вам придется многое переделать. 00:01:51 Цель этих соглашений состоит в том, чтобы объединить реализацию в других областях, таких как ваши пользовательские типы полей и так далее.

 

Необходимо Настроить Внутренние Представления.

00:02:16

Когда будет построен распространитель проповедей, необходимо настроить внутренние представления 00:02:20 , потому что мы хотим, чтобы эти функции были внутри компонента. Это и есть проповеди. У нас есть представление списка 00:02:33 проповедей, а также просмотр редактирования проповедей. У них общая таблица базы данных 00:02:51, хотя они представляют два представления: представление списка и представление редактирования. 00:03:27 Редактируемое представление связано с внутренним подключением самой базы данных. Админка обычно формирует соединение с базой данных. Передняя часть более динамична. Эти вещи потребуют довольно много объяснений, если вы новичок в кодировании, PHP, JavaScript и CSS. 00:04:21

 

Данные для рисования Из функции Динамического получения в Component Builder.

00:04:44

Представления сайта и пользовательские представления админки в основном представляют собой один и тот же тип реализации, оба они черпают свои данные из функции динамического получения в построителе компонентов. Думайте об этой тройке как о работе в команде, в то время как представления админки являются базой данных для них. Сначала вам нужно настроить их. Добавьте их во все необходимые поля, которые затем будут сопоставлены с столбцами базы данных 00:05:16 , которые затем с помощью динамического подключения получат возможность сформулировать модель данных. Это может быть повторно использовано в вашей пользовательских представлениях админки и в ваших представлениях сайта.

 

Представления админки Отображаются непосредственно в базе данных.

00:05:40

Представления админки очень тесно связаны со структурами баз данных.Если вы посмотрите на сам конструктор компонентов, у вас есть то, что называется компонентами, и если вы откроете один из них, в нем будут поля. Если вы хотите перейти в базу данных, 00:06:02 и открыть Конструктор компонентов, вы увидите там поля. Все эти имена 00:06:31 на самом деле отображаются непосредственно в базе данных. Эти имена расположены в алфавитном порядке. Они напрямую сопоставляются с базой данных и в некотором роде редактируют базу данных с помощью этого представления. Когда дело доходит до компонентов, все ваши внутренние представления ограничены такого рода структурой и не являются ограничением от имени разработчика компонентов. Именно так Joomla 00:07:13 хочет это реализовать. Ваш класс, ваша модель, ваши контроллеры и все остальное ведут себя правильно из-за этой реализации, даже если это является серьезным ограничением. Если вы хотите выйти за рамки такого рода инфраструктуры, вам, вероятно, потребуется рассмотреть другой способ использования конструктора компонентов. Мы реализовали его таким образом только для того, чтобы ваши внутренние представления направляли карты в базу данных. Мы знаем, что время от времени существуют внутренние представления, которые не имеют собственной базы данных, а скорее берут сохраненную информацию в базе данных либо из других сторонних компонентов, либо даже из вашего собственного компонента, потому что мы знаем, что вы хотели бы взять эту информацию и преобразовать ее в электронную таблицу, диаграмму 00:08:17 или любым другим способом. Мы добавили эти пользовательские внутренние представления, которые ведут себя в той же динамике, что и представления сайта. Мы стараемся дать вам лучшее из обоих миров. Во-первых, будучи настолько сильным, чтобы управлять наборами данных, которые напрямую связаны с представлением, представлением списка и так далее. Затем, в то же время, вы можете добавить пользовательский вид задней части, который может быть динамическим и в котором вы можете создавать собственные сценарии. 00:09:08

 

Используйте опцию Динамического Получения для Получения Данных Из Таблиц.

00:09:19

Вам нужно знать свои внутренние представления, а затем любые возможные пользовательские представления админки, которые объединяют внешний вид. Мы еще этого не сделали. Возможно, возьмем статистику, проповеди, проповедников и сериалы, потому что эта статистика учитывает только загрузки, в то время как у проповедников есть поле под названием хиты. В проповедях также есть область, называемая хитами. Когда кто-то открывает один из них, не обязательно загружая его, то же самое происходит и с сериями. 00:09:55 Но статистика учитывает только количество скачиваний проповедей. Мы могли бы, возможно, добавить дополнительный пользовательский внутренний вид под названием "анализ." В разделе "анализ" мы можем использовать опцию динамического получения для получения данных из всех этих таблиц. 00:10:29 Давайте сократим его, удалив статистику, а затем займемся моделированием. 00:11:15 Моделирование данных может привести к тому, что мы получим совершенно новую структуру данных, которую мы сможем поместить в таблицу или диаграмму в этом представлении. Это означало бы, что теперь он динамичен и больше не подключен напрямую к базе данных.

 

Представление Analysis, Используемое Для Получения Данных; Сопоставленные Поля.

00:11:39

These above views won't have an edit view. There will be a single view displaying rows of analysis data from multiple back end database tables. This can also be done on the front of the site. 00:11:59 We can put this whole Get Feature under Get and we can give it a name, calling it Get Analysis. 00:12:17 The analysis view is used to get the data, then it takes that data and displays it on a page. The same can be done to the front. 00:12:37 The same Dynamic Get can be used in the front again. That is how Component Builder works. The fields are a discussion on their own, but what I have typed out is very basic and elementary. It is what you need to know before coming to Component Builder. You need to know what you want to achieve, 00:13:05 what you want to build, and if possible, have mapped the fields under each of the following. In sermons, we will have "name" and we will have "preacher." 00:13:23 We will have "series," and we will have "files." They should be under sermons. Under "preacher" we will also have "name," and maybe we will have "email," and "description," - name, preacher, series and files. and "website." 00:13:45 For series we will add a name, which would be "description" and "statistics," since we are only counting downloads. We will have a file name, a counter, and a sermon. 00:14:26 If you start in Component Builder you can start by creating a new component and add "name" and all this information.

 

Fields are Compulsory

00:15:20

Initially, you would skip most of this just getting started. Set up the fields that are compulsory; the ones with the stars and this component image that tells you the dimensions: 300pix X 300pix. Place it in the image folder and then access it. 00:15:44 (This version update is a nice feature which we will look into later.) You will add all these compulsory fields. You would hardly do anything at this stage at settings. You just leave "scripts" blank; "read me" also blank, then add views after you've saved the component. Once you have added "name," added these, and clicked save, 00:16:13 you are basically able to start adding views to it.

 

Adding Views Are Different Than Creating Views

00:16:20

The way to add a view to a component is different from the way to create a view. Add the view through the settings tab. You can create new views through this area, and you can also see your already connected views.

 

Add Fields To Views

00:16:44

If you start building a component, you might feel lost if you do not know where you are going. This will help you know if you need to set up these views. 00:16:48 You need to add these fields to those views. (This kind of information and knowing how to construct it is something that you need to know beforehand.) You can always add more fields and more views. 00:17:23 Component Builder cannot decide that for you. You have to create all of these fields before you can add them to a view. This line is seen as one view although when it's compiled, it will represent two views. It is in Component Builder's component back end views.

 

Name Fields Can Be Reused; Default Fields Shows Which Fields Are Added Dynamically

00:17:51

These fields will need to be created before they can be added to this view. The name field which you can create once can be reused three times. The hits are already added by default so you don't need to add a hits field. 00:18:17 The default fields are showing you which fields you don't need to add but are added dynamically. To each back end view, there is a custom back end view. The purpose is that it doesn't directly relate to a single database. This gives you the option of pulling from multiple databases. It is a quick overview of how to get started with a component, modelling the data and displaying it. 00:18:57

 

Create Admin Views and Fields

00:19:11

We will start in the fields. It seems turned around. You might feel we must start at the component, and then build the views, then build the fields. 00:19:24 After having created the component, you can click your own admin views. The first thing you need to create is the admin views. Click new and create an admin view. Again it is just like it was with the component; you are able to set the bare bone information. I usually start at the bottom and work my way up. 00:20:02 I create all the fields, and when I see that there are duplicate fields, I remove them because I know that we had used them. I create fields which I know to be unique. When I come to certain fields, I won't create them initially, like these custom fields. 00:20:42 I would separate the custom fields. How do I know it's a custom field? Because the preacher is. I want to pull IDs from the preacher view and mark those custom fields again. I want this field to link to that name; a list of those names. 00:21:45 The same goes for the series.

 

Creating Normal Fields and Back End Views

00:21:54

In Joomla, you can create what is known as custom fields. Component Builder makes provision for you to do so. This is what I would call an advanced field. We will look at advanced custom fields after we've looked at creating normal fields and creating actual back end views. 00:22:15 Only then will you understand the implementation of this custom field since it will be linking to back end views value. It is not just linking to a bunch of values, it is linking directly to this back end views value called name, so we can't really create it until we know how this is going to look.

Building a component needs these kinds of things 00:22:51 to be thought through and mapped out. Some of us might not need to write it down, some of us do. You must come to Component Builder at least knowing partially what you want to achieve and what you want to build. That means you can do a lot of paper planning and do a lot of structuring of your component long before actually getting to Component Builder itself. That is what this [ tutorial was trying to illustrate. 00:23:33 If you haven't done this, you might get lost and not know where you are heading when you start mapping the fields, the views, and the things in Component Builder itself.

 

Next Tutorial

00:23:50

In the next tutorials, we will start looking at field types, and how to use field types to create fields. 00:23:56 We will progress to eventually ending up with having this component fully functional and working. We will be illustrating all of these fields as they relate to these back end views that are linked to database tables. 00:24:22 Hopefully that will give a good enough insight and understanding of how all this should be done.