база данных joomla sql устанавливает неправильный путь

Я хочу создать простой модуль для Joomla, который при установке будет иметь и install.sql

поэтому у меня есть этот XML-файл:

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

<name>Address Api</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>August 2015</creationDate>
<author>Tzook Bar Noy</author>
<authorEmail>[email protected]</authorEmail>
<authorUrl>http://www.xxxx.com</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!--  The version string is recorded in the components table -->
<version>0.0.1</version>
<!-- The description is optional and defaults to the name -->
<description>Description of the Hello World component ...</description>



<files>
<filename>addressapi.php</filename>
<filename>ApiCall.php</filename>
<filename>controller.php</filename>
<filename>addressapi.xml</filename>
<folder>site</folder>
<folder>admin</folder>
</files>


<install> <!-- Runs on install -->
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall> <!-- Runs on uninstall -->
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<update> <!-- Runs on update; New since J2.5 -->
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>


<administration>

<!-- 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 -->


</administration>


</extension>

но когда я делаю установку бросил расширения.
Я получаю эту ошибку:

 JInstaller: :Install: SQL File not found /web/joom/administrator/components/com_addressapi/sql/install.mysql.utf8.sql

поэтому мой вопрос, почему он ищет файл sql внутри папки administrator / complonents вместо обычных компонентов ??

структура моих папок и файлов:

 com_addressapi
admin
models
index.html
sql
update
index.html
install.mysql.utf8.sql
uninstall.mysql.utf8.sql
tables
index.html
addressapi.php
index.html
site
addressapi.php
index.html
addressapi.xml
addressapi.php
ApiCall.php
controller.php

1

Решение

Вы получили эту ошибку, потому что у вас нет папки sql, добавленной в ваш manifest.xml файл. Вам нужно включить папку в manifest.xml файл.

<folder>sql</folder>

и ваша папка sql должна иметь install.mysql.utf8.sql а также uninstall.mysql.utf8.sql с обязательным сценарием, написанным там.

Разработка компонента MVC с правильной структурой папок и файлов манифеста:

Референция:
Joomla 2.5 Разработка компонентов
https://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_an_install-uninstall-update_script_file

Joomla 3.x Разработка компонентов
https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Developing_a_Basic_Component

Или вы можете использовать создатель компонента для создания базового компонента Joomla, а затем вы можете изменить его в соответствии со своими потребностями.

http://www.component-creator.com/en/

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]