Intereting Posts
Laravel 4, как применять фильтры в Route :: controller () заменить пустые строки в php PHP require_once не смог открыть доступ к разрешению потока Передача в 32-битное целое может привести к усечению PHP Propel? При использовании mysqli_init () доступ к свойствам еще не разрешен. Попытка пропустить безопасный auth в php Imagick on heroku – это возможно? Разница версий для strtotime («первый день прошлого месяца»)? Как получить среднее время по Гринвичу в PHP? Множественные (oneToMany) Entities образуют генерацию с symfony2 и загрузку файлов Какова наилучшая практика для PHP постоянно проверять изменения в базе данных? php imagejpeg () Не удается открыть, Нет такого файла или каталога или разрешено отклонение Диакритический бесчувственный поиск mysql? Обработка ввода с помощью Zend Framework (Post, get и т. Д.) Синтаксис массива в строке: Неинициализированная ошибка смещения строки Вложенный массив, получить элементы с одним ключом

joomla 2.5 в модуле install.mysql.utf8.sql dosent work

Я хочу установить extranal sql-файл с модулем, и я следую этому учебнику по ссылке http://docs.joomla.org/J2.5:Creating_a_simple_module/Using_the_Database, но он не работает. вот моя кодировка файла xml и sql. где моя ошибка?

<?xml version="1.0" encoding="utf-8"?> <extension type="module" version="2.5.0" client="site" method="upgrade"> <name>practic_module</name> <author>John Doe</author> <version>1.0.0</version> <description>this is a practice module struckture</description> <files> <filename>mod_helloworld.xml</filename> <filename module="mod_helloworld">mod_helloworld.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> </files> <config> <install> <sql> <file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file> <file driver="sqlazure" charset="utf8">sql/sqlazure/install.sqlazure.utf8.sql</file> </sql> </install> <uninstall> <sql> <file driver="mysql" charset="utf8">sql/mysql/uninstall.mysql.utf8.sql</file> <file driver="sqlazure" charset="utf8">sql/sqlazure/uninstall.sqlazure.utf8.sql</file> </sql> </uninstall> <update> <schemas> <schemapath type="mysql">sql/mysql/updates</schemapath> <schemapath type="sqlazure">sql/sqlazure/updates</schemapath> </schemas> </update> <fields name="params"> <fieldset name="basic"> <field name="lang" type="sql" default="1" label="Select a language" query="SELECT id AS value, lang FROM #__helloworld" /> </fieldset> </fields> </config> </extension> 

и sql – это C: \ xampp \ htdocs \ joom \ modules \ mod_helloworld \ sql \ mysql и файл install.mysql.utf8.sql.

 CREATE TABLE IF NOT EXISTS `#__helloworld` ( `id` int(10) NOT NULL AUTO_INCREMENT, `hello` text NOT NULL, `lang` varchar(25) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; INSERT INTO `#__helloworld` (`hello`, `lang`) VALUES ('Hello World', 'en-GB'); INSERT INTO `#__helloworld` (`hello`, `lang`) VALUES ('Hola Mundo', 'es-ES'); INSERT INTO `#__helloworld` (`hello`, `lang`) VALUES ('Bonjour tout le monde', 'fr- FR'); 

но доза не работает. база данных не установлена. где моя ошибка? Помощь в PLS

Вы добавили теги <install> , <uninstall> и <update> внутри тегов <config> которые не должны выполняться. Им нужно выйти на улицу. Вам также необходимо определить папку sql . Вот ваш полный код xml:

 <?xml version="1.0" encoding="utf-8"?> <extension type="module" version="2.5.0" client="site" method="upgrade"> <name>practic_module</name> <author>John Doe</author> <version>1.0.0</version> <description>this is a practice module struckture</description> <files> <filename>mod_helloworld.xml</filename> <filename module="mod_helloworld">mod_helloworld.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> <folder>sql</folder> </files> <install> <sql> <file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file> <file driver="sqlazure" charset="utf8">sql/sqlazure/install.sqlazure.utf8.sql</file> </sql> </install> <uninstall> <sql> <file driver="mysql" charset="utf8">sql/mysql/uninstall.mysql.utf8.sql</file> <file driver="sqlazure" charset="utf8">sql/sqlazure/uninstall.sqlazure.utf8.sql</file> </sql> </uninstall> <update> <schemas> <schemapath type="mysql">sql/mysql/updates</schemapath> <schemapath type="sqlazure">sql/sqlazure/updates</schemapath> </schemas> </update> <config> <fields name="params"> <fieldset name="basic"> <field name="lang" type="sql" default="1" label="Select a language" query="SELECT id AS value, lang FROM #__helloworld" /> </fieldset> </fields> </config> </extension> 

Также убедитесь, что структура папок верна

Надеюсь это поможет

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

 <fields name="params"> <fieldset name="basic"> <field name="lang" type="sql" default="1" label="Select a language" query="SELECT id AS value, lang FROM #__helloworld" /> </fieldset> </fields> 

в вашем загруженном почтовом ящике в файле манифеста нет <folder>sql</folder> – поэтому установщик не скопирует папку при установке в каталог модуля и не выполнит sql.

installer: https://github.com/joomla/joomla-cms/blob/master/libraries/cms/installer/installer.php#L912

Вам нужно включить эти файлы в тег файлов, например:

 <files> <!-- The others files that you added --> <filename>sql/mysql/install.mysql.utf8.sql</filename> <filename>sql/sqlazure/install.sqlazure.utf8.sql</filename> <filename>sql/mysql/uninstall.mysql.utf8.sql</filename> <filename>sql/sqlazure/uninstall.sqlazure.utf8.sql</filename> <filename>sql/sqlazure/updates</filename> <!-- Not sure about this one, sorry --> </file> 

Я тоже учусь, и я не знаю, нужен ли файл обновлений для добавления в тег файлов. Объедините это с ответом Лоддера. Надеюсь быть полезным.