модуль с формой Repeatable form field type, проблема с переменной $list_templates

Moderator: AlexSmirnov

Glog1
Joomla! Fledgling
Joomla! Fledgling
Posts: 4
Joined: Mon May 22, 2017 6:29 am

модуль с формой Repeatable form field type, проблема с переменной $list_templates

Postby Glog1 » Mon May 22, 2017 6:39 am

Здравствуйте, пишу простой модуль для вывода ссылок,
Сделал модуль с формой Repeatable form field type
Повторил все как написано в документации
Ссылка на документацию(https://docs.joomla.org/Repeatable_form_field_type)
Example XML Definition

Code: Select all


<field name="list_templates"
   type="repeatable"
   icon="list"
   description="PLG_TINY_FIELD_TEMPLATE_FIELD_ELEMENTS_DESC"
   label="PLG_TINY_FIELD_TEMPLATE_FIELD_ELEMENTS_LABEL"
   default='{"template":["Layout","Simple snippet"],
      "location":["layout1.html","snippet1.html"],
      "description":["HTMLLayout","Simple HTML snippet"]}'>
   <fieldset hidden="true" name="list_templates_modal" repeat="true">
      <field name="template"
         label="PLG_TINY_FIELD_TEMPLATE_FIELD_NAME_LABEL"
         size="30"
         type="text" />
      <field name="location"
         label="PLG_TINY_FIELD_TEMPLATE_FIELD_LOCATION_LABEL"
         description="PLG_TINY_FIELD_TEMPLATE_LOCATION_DESC"
         size="30"
         type="filelist"
         directory="media/editors/tinymce/templates"
         exclude="index.html"
         hide_default="true"
         hide_none="true" />
      <field name="description"
         label="PLG_TINY_FIELD_TEMPLATE_FIELD_DESCRIPTION_LABEL"
         size="30"
         type="textarea" />
   </fieldset>
</field>

Code: Select all

// get the repeatable field value and decode it
$list_hosts     = json_decode( $params->get('list_templates'),true);
// loop your result
foreach( $list_templates as $list_templates_idx => $list_template ) {
   // do something clever for each of the templates
}



Проблема в том что переменная $list_templates пустая, в чем может быть причина? и как ее решить?

User avatar
AlexSmirnov
Joomla! Hero
Joomla! Hero
Posts: 2675
Joined: Fri Sep 18, 2009 6:33 pm
Location: United Kingdom
Contact:

Re: модуль с формой Repeatable form field type, проблема с переменной $list_templates

Postby AlexSmirnov » Mon May 22, 2017 7:54 pm

Приветствую. Поле по типу "Repeatable form field type" устарело. Используйте вместо него "Subform form field type".
Блог для абсолютных новичков в Akeeba Backup для Joomla: https://akeebabackup.ru

Follow me on Twitter/Следуйте за мной на Twitter: http://twitter.com/akeebabackupru

Glog1
Joomla! Fledgling
Joomla! Fledgling
Posts: 4
Joined: Mon May 22, 2017 6:29 am

Re: модуль с формой Repeatable form field type, проблема с переменной $list_templates

Postby Glog1 » Thu May 25, 2017 12:12 pm

Спасибо за ответ!
Столкнулся со следующей проблемой,
при добавлении поля

Code: Select all

<field name="field-name" type="subform"
    formsource="path/exampleform.xml" multiple="true"
    label="Subform Field" description="Subform Field Description" />
   



в модуле появляется ошибка,

Subform Field
JForm::getInstance could not load file

файл exampleform.xml установлен .

пробовал отключить ошибку, в файл
/libraries/joomla/language/language.php

добавил код

Code: Select all

 libxml_disable_entity_loader(false);

не помогло

можете подсказать в чем проблема?
Очень благодарен за вашу помощь!

главный xml файл

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="1" client="site" method="upgrade">
    <name>mod_seo_link</name>
    <author>Serhiy Biluk</author>
    <version>1.0.0</version>
    <description>mod_seo_link</description>
    <files>
        <filename>mod_seo_link.xml</filename>
        <filename module="mod_seo_link">mod_seo_link.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
        <filename>patch/exampleform.xml</filename>
        <folder>sql</folder>
        <folder>patch</folder>
       
    </files>
    <languages>
                <language tag="en-GB">language/en-GB.mod_seo_link.ini</language>
      <language tag="en-GB">language/en-GB.mod_seo_link.sys.ini</language>
      <language tag="ru-RU">language/ru-RU.mod_seo_link.ini</language>
                <language tag="ru-RU">language/ru-RU.mod_seo_link.sys.ini</language>
   </languages>
    <config>
        <fields name="params">
            <fieldset name="basic">
<field name="count" type="text" default="10" label="MOD_SEO_LINK_COUNT_LABEL" description="MOD_SEO_LINK_COUNT_DESC" />
<field name="field-name" type="subform"
    formsource="path/exampleform.xml" multiple="true"
    label="Subform Field" description="Subform Field Description" />
            </fieldset>
          </fields>
    </config>
    <install>
     <sql>
         <file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file>
       
     </sql>
</install>
 
<uninstall>
     <sql>
         <file driver="mysql" charset="utf8">sql/mysql/uninstall.mysql.utf8.sql</file>
       
     </sql>
</uninstall>
 
<update>
    <schemas>
        <schemapath type="mysql">sql/mysql/updates</schemapath>
   
    </schemas>
</update>


файл exampleform.xml

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<form>
    <fieldset name="section1" label="Section1">
        <field name="example_text" type="text" label="Example Text" />
        <field name="example_textarea" type="textarea" label="Example Textarea" cols="40" rows="8" />
    </fieldset>
    <fieldset name="section2" label="Section2">
        <field name="example_list" type="list" default="1" class="advancedSelect" label="Example List">
            <option value="1">JYES</option>
            <option value="0">JNO</option>
        </field>
    </fieldset>
</form>


Проблема решилась, указанием пути к файлу /modules/name module/path/to/exampleform.xml

Glog1
Joomla! Fledgling
Joomla! Fledgling
Posts: 4
Joined: Mon May 22, 2017 6:29 am

Re: модуль с формой Repeatable form field type, проблема с переменной $list_templates

Postby Glog1 » Fri May 26, 2017 7:16 am

Подскажите как правильно выводить данные из формы Subform form field type

я вывожу так,

Code: Select all

echo $param->fieldname->fieldname1->example_text ;
echo $param->fieldname->fieldname1->example_textarea;


пробовал в цикле

Code: Select all

<?php foreach ($params as $item) : ?>
  <a href="<?php echo $item->fieldname1->example_textarea; ?>"><?php echo $item->fieldname1->example_text ;?></a>
 
<?php endforeach; ?>


но когда добавляю еще одну форму то

Code: Select all

fieldname1
меняется на

Code: Select all

fieldname0
и в следующей формы

Code: Select all

fieldname2
и тд.
как правильно выводить все значения с формы в цикле?
Image


Return to “Russian Forum”

Who is online

Users browsing this forum: No registered users and 2 guests