Языковые файлы компонента

E-mail Печать PDF
Рейтинг пользователей: / 12
ХудшийЛучший 

Jo­om­la! 2.5 язы­ковые фай­лы ис­поль­зу­ют­ся в че­тырех раз­личных си­ту­ациях:

  • отоб­ра­жение ком­по­нен­та в ин­терфей­се поль­зо­вате­ля
  • уп­равле­ние ком­по­нен­том в ин­терфей­се ад­ми­нист­ра­тора
  • при соз­да­нии пунк­та ме­ню для ком­по­нен­та
  • при ус­та­нов­ке ком­по­нен­та (вве­дено с вер­сии 1.7)

Jo­om­la! 2.5 для хра­нения язы­ковых фай­лов ис­поль­зу­ет 2 ка­тало­га (в за­виси­мос­ти от то­го как ус­та­нов­лен ком­по­нент):

  • ad­mi­nist­ra­tor/lan­gu­age или lan­gu­age
  • ad­mi­nist­ra­tor/com­po­nent/*com­po­nent*/lan­gu­age или com­po­nent/*com­po­nent*/lan­gu­age

Язы­ковый файл для ин­терфей­са поль­зо­вате­ля

Соз­дай­те фай­лы si­te/lan­gu­age/en-GB/en-GB.com_hel­lo­world.ini и si­te/lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.ini, эти фай­лы со­дер­жат пе­ревод для ин­терфей­са поль­зо­вате­ля. По­ка эти фай­лы бу­дут пус­тые.

Язы­ковый файл для ин­терфей­са ад­ми­нист­ра­тора

Соз­дай­те фай­лы ad­min/lan­gu­age/en-GB/en-GB.com_hel­lo­world.ini и ad­min/lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.ini,  эти фай­лы со­дер­жат пе­ревод для ин­терфей­са ад­ми­нист­ра­тора.

ad­min/lan­gu­age/en-GB/en-GB.com_hel­lo­world.ini

COM_HEL­LO­WORLD_HEL­LO­WORLD_FI­ELD_GRE­ETING_DESC="This mes­sa­ge will be disp­la­yed"
COM_HEL­LO­WORLD_HEL­LO­WORLD_FI­ELD_GRE­ETING_LA­BEL="Mes­sa­ge"
COM_HEL­LO­WORLD_HEL­LO­WORLD_HE­ADING_GRE­ETING="Gre­eting"
COM_HEL­LO­WORLD_HEL­LO­WORLD_HE­ADING_ID="Id"

ad­min/lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.ini

COM_HEL­LO­WORLD_HEL­LO­WORLD_FI­ELD_GRE­ETING_DESC="Со­об­ще­ние для отоб­ра­жения"
COM_HEL­LO­WORLD_HEL­LO­WORLD_FI­ELD_GRE­ETING_LA­BEL="Со­об­ще­ние"
COM_HEL­LO­WORLD_HEL­LO­WORLD_HE­ADING_GRE­ETING="При­ветс­твие"
COM_HEL­LO­WORLD_HEL­LO­WORLD_HE­ADING_ID="Id"

Язы­ковый файл ис­поль­зу­емый при соз­да­нии пунк­та ме­ню

Соз­дай­те фай­лы ad­min/lan­gu­age/en-GB/en-GB.com_hel­lo­world.sys.ini и admin/lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.sys.ini

ad­min/lan­gu­age/en-GB/en-GB.com_hel­lo­world.sys.ini

COM_HEL­LO­WORLD="Hel­lo World!"
COM_HEL­LO­WORLD_DESC­RIP­TI­ON="This is the Hel­lo World desc­rip­ti­on"
COM_HEL­LO­WORLD_HEL­LO­WORLD_VI­EW_DE­FA­ULT_TIT­LE="Hel­lo World"
COM_HEL­LO­WORLD_HEL­LO­WORLD_VI­EW_DE­FA­ULT_DESC="This vi­ew disp­la­ys a se­lec­ted mes­sa­ge"
COM_HEL­LO­WORLD_ME­NU="Hel­lo World!"

ad­min/lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.sys.ini

COM_HEL­LO­WORLD="При­вет МИР!!!"
COM_HEL­LO­WORLD_DESC­RIP­TI­ON="Это опи­сание на­шего ком­по­нен­та При­вет МИР!"
COM_HEL­LO­WORLD_HEL­LO­WORLD_VI­EW_DE­FA­ULT_TIT­LE="При­вет Мир"
COM_HEL­LO­WORLD_HEL­LO­WORLD_VI­EW_DE­FA­ULT_DESC="Вы­бери­те ва­ри­ант отоб­ра­жения"
COM_HEL­LO­WORLD_ME­NU="При­вет Мир!"

Язы­ковый файл ис­поль­зу­емый при ус­та­нов­ке ком­по­нен­та

Соз­дай­те фай­лы lan­gu­age/en-GB/en-GB.com_hel­lo­world.sys.ini и lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.sys.ini

lan­gu­age/en-GB/en-GB.com_hel­lo­world.sys.ini

COM_HEL­LO­WORLD="Hel­lo World!"
COM_HEL­LO­WORLD_DESC­RIP­TI­ON="This is the Hel­lo World desc­rip­ti­on"

lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.sys.ini

COM_HEL­LO­WORLD="При­вет Мир!"
COM_HEL­LO­WORLD_DESC­RIP­TI­ON="Прос­той ком­по­нент при­ветс­твия"

Из­ме­ните файл hel­lo­world.xml:

за­мени­те стро­ку

<na­me>com_hel­lo­world</na­me>

на

<na­me>COM_HEL­LO­WORLD</na­me>

стро­ку

<me­nu>При­вет МИР!</me­nu>

на

<me­nu>COM_HEL­LO­WORLD_ME­NU</me­nu>

стро­ку

<desc­rip­ti­on>Это прос­той ком­по­нент при­ветс­твия ...</desc­rip­ti­on>

на

<desc­rip­ti­on>COM_HEL­LO­WORLD_DESC­RIP­TI­ON</desc­rip­ti­on>

в сек­цию <fi­les fol­der="si­te"> до­бавь­те стро­ку

<fol­der>lan­gu­age</fol­der>

в сек­цию <ad­mi­nist­ra­ti­on> до­бавь­те стро­ки

<lan­gu­ages fol­der="ad­min">
    <lan­gu­age tag="en-GB">lan­gu­age/en-GB/en-GB.com_hel­lo­world.ini</lan­gu­age>
    <lan­gu­age tag="en-GB">lan­gu­age/en-GB/en-GB.com_hel­lo­world.sys.ini</lan­gu­age>
    <lan­gu­age tag="ru-RU">lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.ini</lan­gu­age>
    <lan­gu­age tag="ru-RU">lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.sys.ini</lan­gu­age>
</lan­gu­ages>

В ито­ге файл hel­lo­world.xml бу­дет со­дер­жать сле­ду­ющий код:

<?xml ver­si­on="1.0" en­co­ding="utf-8"?>
<ex­tensi­on ty­pe="com­po­nent" ver­si­on="2.5.0" met­hod="upg­ra­de">
 
	<na­me>COM_HEL­LO­WORLD</na­me>
	<!-- The fol­lo­wing ele­ments are op­ti­onal and free of for­matting cons­tra­ints -->
	<cre­ation­Da­te>Март 2012</cre­ation­Da­te>
	<aut­hor>Имя ав­то­ра</aut­hor>
	<aut­ho­rEma­il>ав­тор@до­мен.рф</aut­ho­rEma­il>
	<aut­ho­rUrl>http://до­мен.рф</aut­ho­rUrl>
	<co­pyright>Co­pyright In­fo</co­pyright>
	<li­cen­se>Ли­цен­зия</li­cen­se>
	<!--  The ver­si­on string is re­cor­ded in the com­po­nents tab­le -->
	<ver­si­on>0.0.8</ver­si­on>
	<!-- The desc­rip­ti­on is op­ti­onal and de­fa­ults to the na­me -->
	<desc­rip­ti­on>COM_HEL­LO­WORLD_DESC­RIP­TI­ON</desc­rip­ti­on>
 
	<ins­tall> <!-- Runs on ins­tall -->
		<sql>
			<fi­le dri­ver="mysql" char­set="utf8">sql/ins­tall.mysql.utf8.sql</fi­le>
		</sql>
	</ins­tall>
	<unins­tall> <!-- Runs on unins­tall -->
		<sql>
			<fi­le dri­ver="mysql" char­set="utf8">sql/unins­tall.mysql.utf8.sql</fi­le>
		</sql>
	</unins­tall>
	<up­da­te> <!-- Runs on up­da­te; New in 2.5 -->
		<sche­mas>
			<sche­mapath ty­pe="mysql">sql/up­da­tes/mysql</sche­mapath>
		</sche­mas>
	</up­da­te>
 
	<!-- Si­te Ma­in Fi­le Co­py Sec­ti­on -->
	<!-- No­te the fol­der att­ri­bute: This att­ri­bute desc­ri­bes the fol­der
		to co­py FROM in the pac­ka­ge to ins­tall the­refo­re fi­les co­pi­ed
		in this sec­ti­on are co­pi­ed from /si­te/ in the pac­ka­ge -->
	<fi­les fol­der="si­te">
		<fi­lena­me>in­dex.html</fi­lena­me>
		<fi­lena­me>hel­lo­world.php</fi­lena­me>
		<fi­lena­me>cont­rol­ler.php</fi­lena­me>
		<fol­der>vi­ews</fol­der>
		<fol­der>mo­dels</fol­der>
		<fol­der>lan­gu­age</fol­der>
	</fi­les>
 
	<ad­mi­nist­ra­ti­on>
		<!-- Ad­mi­nist­ra­ti­on Me­nu Sec­ti­on -->
		<me­nu>COM_HEL­LO­WORLD_ME­NU</me­nu>
		<!-- Ad­mi­nist­ra­ti­on Ma­in Fi­le Co­py Sec­ti­on -->
		<!-- No­te the fol­der att­ri­bute: This att­ri­bute desc­ri­bes the fol­der
			to co­py FROM in the pac­ka­ge to ins­tall the­refo­re fi­les co­pi­ed
			in this sec­ti­on are co­pi­ed from /ad­min/ in the pac­ka­ge -->
		<fi­les fol­der="ad­min">
			<!-- Ad­min Ma­in Fi­le Co­py Sec­ti­on -->
			<fi­lena­me>in­dex.html</fi­lena­me>
			<fi­lena­me>hel­lo­world.php</fi­lena­me>
			<fi­lena­me>cont­rol­ler.php</fi­lena­me>
			<!-- SQL fi­les sec­ti­on -->
			<fol­der>sql</fol­der>
			<!-- tab­les fi­les sec­ti­on -->
			<fol­der>tab­les</fol­der>
			<!-- mo­dels fi­les sec­ti­on -->
			<fol­der>mo­dels</fol­der>
			<!-- vi­ews fi­les sec­ti­on -->
			<fol­der>vi­ews</fol­der>
		</fi­les>
		<lan­gu­ages fol­der="ad­min">
		    <lan­gu­age tag="en-GB">lan­gu­age/en-GB/en-GB.com_hel­lo­world.ini</lan­gu­age>
		    <lan­gu­age tag="en-GB">lan­gu­age/en-GB/en-GB.com_hel­lo­world.sys.ini</lan­gu­age>
		    <lan­gu­age tag="ru-RU">lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.ini</lan­gu­age>
		    <lan­gu­age tag="ru-RU">lan­gu­age/ru-RU/ru-RU.com_hel­lo­world.sys.ini</lan­gu­age>
		</lan­gu­ages>
	</ad­mi­nist­ra­ti­on>
 
</ex­tensi­on>

Язы­ковые фай­лы бу­дут ус­та­нов­ле­ны и рас­по­лагать­ся по сле­ду­юще­му пу­ти:

  • ad­mi­nist­ra­tor/lan­gu­age для ин­терфей­са ад­ми­нист­ра­тора
  • com­po­nents/com_hel­lo­world/lan­gu­age для ин­терфей­са поль­зо­вате­ля

Соз­дай­те ар­хив с ком­по­нен­том, ус­та­нови­те его на сайт.

Ска­чать ар­хив для этой час­ти кур­са

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 8. Сох­ра­нение дан­ных в БД

Пос­ле то­го как мы вве­ли дан­ные в фор­му, при на­жатии на кноп­ку "Сох­ра­нить", мы долж­ны сох­ра­нить вве­ден­ные дан­ные в таб­ли­це БД. Для это­го соз­да­дим функ­цию sa­veGo­od­ti­me() в фай­ле ad­min.go­od­ti­mes.php

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 7. Соз­да­ние фор­мы для соз­да­ния и ре­дак­ти­рова­ния об­зо­ров

Для то­го что­бы мы мог­ли до­бав­лять и из­ме­нять за­писи в БД нам ну­жен дру­жест­вен­ный ин­терфейс. Для это­го да­вай­те соз­да­дим фор­му для соз­да­ния и ре­дак­ти­рова­ния об­зо­ров.

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 6. Соз­да­ние Клас­са Таб­ли­цы БД

Мы мог­ли бы на­писать собс­твен­ные функ­ции, для то­го что­бы до­бав­лять, об­новлять, и уда­лять за­писи из таб­ли­цы БД. Но в Jo­om­la! уже су­щест­ву­ет класс JTab­le обес­пе­чива­ющий функ­ции для ра­боты с ба­зой дан­ных. Что­бы ис­поль­зо­вать JTab­le, мы долж­ны на­писать рас­ши­рение для на­шего ком­по­нен­та.

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 5. Соз­да­ние Таб­ли­цы Ба­зы дан­ных

Преж­де, чем мы наст­ро­им ин­терфейс для то­го, что­бы ре­дак­ти­ровать и до­бав­лять об­зо­ры, мы долж­ны соз­дать таб­ли­цу в ба­зе дан­ных, где они бу­дут хра­нить­ся.

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 4.1. Дос­тупные Кноп­ки Па­нели инс­тру­мен­тов

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 4. Соз­да­ние Па­нелей инс­тру­мен­тов

В лю­бом ком­по­нен­те Jo­om­la в ад­ми­нист­ра­тив­ной час­ти при­сутс­тву­ет Па­нель инс­тру­мен­тов, она поз­во­ля­ет до­бав­лять, из­ме­нять, уда­лять и де­лать про­чие опе­рации. В на­шем ком­по­нен­те мы так­же соз­да­дим па­нели инс­тру­мен­тов.
LAST_UPDATED2
 
E-mail Печать PDF

Шаг 3. Ре­гист­ра­ция ком­по­нен­та в Ба­за дан­ных.

Вы те­перь зна­ете, как по­лучить дос­туп и к фрон­тенду и к ад­ми­нист­ра­тив­ной час­ти ком­по­нен­та.
Хо­тя мы мог­ли бы про­дол­жать на­бирать URL каж­дый раз, ког­да хо­тели бы вы­пол­нить часть ко­да, это не бу­дет при­ем­ле­мым для поль­зо­вате­лей сай­та. За­регист­ри­ру­ем наш ком­по­нент в БД, это даст нам что мы смо­жем соз­да­вать ссыл­ки на ком­по­нент в ме­ню. Пред­по­лага­ет­ся что пре­фикс у ва­ших таб­лиц БД - jos_. В про­тив­ном слу­чае за­мени­те jos_ пре­фик­сом, ко­торый ис­поль­зу­ет­ся у вас.
LAST_UPDATED2
 
E-mail Печать PDF

Шаг 2. Соз­да­ние прос­то­го при­ветс­твия

Отк­рой­те в бра­узе­ре ад­рес: http://ваш_сайт/in­dex.php?op­ti­on=com_go­od­ti­mes, в бра­узе­ре дол­жен отк­рыть­ся ваш сайт, но при­сутс­тво­вать бу­дут толь­ко эле­мен­ты оформ­ле­ния сай­та. Сде­ла­ем так что­бы наш ком­по­нент отоб­ра­жал стра­ницу при­ветс­твия. Для это­го отк­ро­ем файл com­po­nents/com_go­od­ti­mes/go­od­ti­mes.php и про­пишем в нем сле­ду­ющий код:

LAST_UPDATED2
 
E-mail Печать PDF

Шаг 1. Струк­ту­ра ком­по­нен­та Jo­om­la

Jo­om­la! ис­поль­зу­ет оп­ре­делен­ную схе­му обоз­на­чения, ко­торая ис­поль­зу­ет­ся все­ми ком­по­нен­та­ми. Каж­дый ком­по­нент в сис­те­ме име­ет уни­каль­ное имя. Код ком­по­нен­та раз­ме­щен в двух пап­ках, каж­дая из них на­зыва­ет­ся оди­нако­во и имею пре­фикс com_.
LAST_UPDATED2