J3.x

Het ontwikkelen van een MVC Component - Toevoegen van een menu aan de website

From Joomla! Documentation

< J3.x:Developing an MVC Component
This page is a translated version of the page J3.x:Developing an MVC Component/Adding a menu type to the site part and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎العربية • ‎中文(台灣)‎
Joomla! 
3.x
Handleiding
Het ontwikkelen van een MVC component

Een 'variable request' toevoegen in het menu type

De database gebruiken

Basis beheergedeelte

Het toevoegen van taalbeheer

Het toevoegen van acties in het beheergedeelte

Het toevoegen van decoraties aan het beheergedeelte

Het toevoegen van controles

Het toevoegen van categorieën

Het toevoegen van configuratie

  1. Het toevoegen van ACL

Het toevoegen van een installatie/deïnstallatie/update script-bestand

Een formulier op de website toevoegen

  1. Een afbeelding toevoegen
  2. Een map toevoegen
  3. AJAX toevoegen
  4. Een alias toevoegen

Het gebruik van de taal filterfunctie

  1. Een modaal venster toevoegen
  2. Het toevoegen van associaties
  3. Het toevoegen van uitchecken
  4. Het toevoegen van volgorde
  5. Het toevoegen van niveaus
  6. Het toevoegen van versies
  7. Het toevoegen van tags
  8. Het toevoegen van rechten
  9. Het toevoegen van batch-proces
  10. Het toevoegen van cache
  11. Het toevoegen van een feed

Het toevoegen van een update-server

  1. Het toevoegen van extra velden
  2. Upgrading to Joomla4



Dit is een reeks van artikelen met handleidingen over het ontwikkelen van een Model-View-Controller Component voor Joomla! versieJoomla 3.x.

Begin met de Introductie en navigeer door de artikelen van de reeks door middel van de navigatieknop onderaan of het vak rechts (Artikelen in deze reeks).



Toelichting

  • U kunt de onderstaande stappen volgen om een menu-item aan de Hello World! component toe te voegen, of u kunt deze rechtstreeks downloaden archief

Toevoegen van een menu-item aan Hello World

In dit artikel behandelen we hoe een menu-item toegevoegd wordt aan een eenvoudige Joomla! component. In dit voorbeeld werken we verder aan de Hello World! component.

Er zijn verschillende manieren om een Joomla! component te updaten. Net zoals in het vorige deel focussen we ons op optie 2.

1 Voeg de bestanden handmatig toe aan <path_to_joomla>/
2 Update door gebruik te maken van Joomla! extensiebeheer en de originele, niet gecomprimeerde, map die gebruikt werd voor het installeren van de component
3 Update door gebruik te maken van Joomla! extensiebeheer en een updateserver

Om een menu-item toe te voegen dient u te navigeren naar com_helloworld, hetgeen de originele map is die u gemaakt hebt voor de component. U moet de geüpdate mapstructuur van de vorige handleiding gebruiken. Gebruik de bestandsmanager van uw voorkeur om de volgende bestanden te maken of te updaten; voeg, terwijl u de bestanden maakt of update, de broncode toe die u kunt vinden in de Bestandsgegevens.

1 Maak: default.xml <path_to_com_helloworld/site/views/helloworld/tmpl/default.xml
2 Update: helloworld.xml <path_to_com_helloworld/helloworld.xml

Updaten van de Hello World! component

Om de Hello World! Component te updaten in de Joomla! website, volgt u dezelfde stappen als voor de originele installatie.

Nadat de component is geüpdated, kunnen we er een menu-item aan toevoegen. Hiermee kunnen we ons component benaderen zonder dat we moeten onthouden welk adres we in de adresbalk moeten typen. We gaan dit doen door gebruik te maken van het menubeheer van Joomla!.

  • Navigeer naar het administratiepaneel van uw Joomla! site met de webbrowser van uw voorkeur. Het adres zal zijn <uwsite>/joomla/administrator/index.php. In dit voorbeeld navigeren we naar localhost/joomla/administrator/index.php.
  • Voeg een menu-item toe door te klikken op Menu    <bestaand menu>    Nieuw menu-item toevoegen. Er zal een nieuw scherm verschijnen.
  • In het "Menutitel" veld, typ "Hello World!"
  • In het "Menutype" veld, klik op de "Selecteer" knop en kies Hello World!    Hello World uit het selectievenster.
  • Klik Opslaan & Sluiten

U zou nu de component moeten kunnen benaderen via het menu dat u zojuist gemaakt heeft

Bestandsgegevens

site/views/helloworld/tmpl/default.xml

<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
		<message>COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC</message>
	</layout>
</metadata>

helloworld.xml

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">

	<name>Hello World!</name>
	<!-- The following elements are optional and free of formatting constraints -->
	<creationDate>January 2018</creationDate>
	<author>John Doe</author>
	<authorEmail>john.doe@example.org</authorEmail>
	<authorUrl>http://www.example.org</authorUrl>
	<copyright>Copyright Info</copyright>
	<license>License Info</license>
	<!--  The version string is recorded in the components table -->
	<version>0.0.3</version>
	<!-- The description is optional and defaults to the name -->
	<description>Description of the Hello World component ...</description>

	<update> <!-- Runs on update; New since J2.5 -->
		<schemas>
			<schemapath type="mysql">sql/updates/mysql</schemapath>
		</schemas>
	</update>

	<!-- Site Main File Copy Section -->
	<!-- Note the folder attribute: This attribute describes the folder
		to copy FROM in the package to install therefore files copied
		in this section are copied from /site/ in the package -->
	<files folder="site">
		<filename>index.html</filename>
		<filename>helloworld.php</filename>
		<filename>controller.php</filename>
		<folder>views</folder>
	</files>

	<administration>
		<!-- Administration Menu Section -->
		<menu link='index.php?option=com_helloworld'>Hello World!</menu>
		<!-- Administration Main File Copy Section -->
		<!-- Note the folder attribute: This attribute describes the folder
			to copy FROM in the package to install therefore files copied
			in this section are copied from /admin/ in the package -->
		<files folder="admin">
			<!-- Admin Main File Copy Section -->
			<filename>index.html</filename>
			<filename>helloworld.php</filename>
			<!-- SQL files section -->
			<folder>sql</folder>
		</files>
	</administration>
</extension>

Code verklaring

Indien u nieuwsgierig bent waarom dit werkt zoals het werkt.

default.xml

Opmerking - Op dit moment worden de strings niet vertaald in de administrator interface. We zullen in een later artikel behandelen hoe de vertaling wordt uitgevoerd.

helloworld.xml

<version>0.0.3</version>

Update het versienummer.

Component inhoud

Op dit moment in de handleiding zou uw component de volgende bestanden moeten bevatten:

1 helloworld.xml dit is een XML (manifest) bestand dat Joomla! vertelt hoe de component geïnstalleerd moet worden.
2 site/helloworld.php dit is de site toegang tot de Hello World! component
3 site/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
4 site/controller.php bestand die de controller representeert
5 site/views/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
6 site/views/helloworld/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
7 site/views/helloworld/view.html.php bestand die de view representeert
8 site/views/helloworld/tmpl/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
9 site/views/helloworld/tmpl/default.php de standaard weergave
10 site/views/helloworld/tmpl/default.xml bestand dat menu-item toevoegt
11 admin/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
12 admin/helloworld.php dit is de administrator toegang tot de Hello World! component
13 admin/sql/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
14 admin/sql/updates/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
15 admin/sql/updates/mysql/index.html voorkomt dat de server de inhoud van de map in een lijst weergeeft
16 admin/sql/updates/mysql/0.0.1.sql bestand die het initialiseren van de schema versie van de component com_helloworld mogelijk maakt