Tôi đã thử sử dụng thuộc tính trường biểu mẫu showon ở dạng mặt trước mà không có kết quả làm việc.
Ngay cả ví dụ đưa ra ở đây cũng không hoạt động: https : //docs.j Joomla.org/Form_field#Showon
Có thiếu gì không, tôi có phải bao gồm một tập lệnh nhất định bằng tay khi tôi muốn sử dụng nó ở mặt trước không?
Tôi đang sử dụng j Joomla 3.4.1, giao diện người dùng là mẫu T3, trong trường hợp có vấn đề.
Bất kỳ ý tưởng hoặc giải pháp?
EDIT: Mẫu
<?xml version="1.0" encoding="utf-8"?>
<form>
<fieldset name="main">
<field name="foo" type="list" >
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="bar" type="text" showon="foo:1" />
<field name="foo2" type="text" />
<field name="bar2" type="text" showon="foo2:1" />
</fieldset>
</form>
Bản mẫu
<?php
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
?>
<form action="...>"
method="post"
onsubmit="return false;"
name="adminForm" id="adminForm" class="form-validate">
<div class="form-horizontal adminform">
<fieldset class="">
<legend><?php echo 'test'; ?></legend>
<div class="span6">
<?php foreach ($this->form->getFieldset() as $field): ?>
<div class="control-group">
<div class="control-label"><?php echo $field->label; ?></div>
<div class="controls"><?php echo $field->input; ?></div>
</div>
<?php endforeach; ?>
</div>
</fieldset>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
EDIT 2: Tìm thấy một giải pháp trong các tập tin lõi j Joomla
nếu mã mẫu ở trên được cập nhật từ:
<div class="span6">
<?php foreach ($this->form->getFieldset() as $field): ?>
<div class="control-group">
<div class="control-label"><?php echo $field->label; ?></div>
<div class="controls"><?php echo $field->input; ?></div>
</div>
<?php endforeach; ?>
</div>
Đến:
<div class="span6">
<?php foreach ($this->form->getFieldset() as $field): ?>
<?php
$class = '';
$rel = '';
if ($showon = $field->getAttribute('showon')) {
JHtml::_('jquery.framework');
JHtml::_('script', 'jui/cms.js', false, true);
$id = $this->form->getFormControl();
$showon = explode(':', $showon, 2);
$class = ' showon_' . implode(' showon_', explode(',', $showon[1]));
$rel = ' rel="showon_' . $id . '[' . $showon[0] . ']"';
}
?>
<div class="control-group<?php echo $class; ?>"<?php echo $rel; ?>>
<div class="control-label"><?php echo $field->label; ?></div>
<div class="controls"><?php echo $field->input; ?></div>
</div>
<?php endforeach; ?>
</div>
nó hoạt động
Vậy tôi có nên tự thêm phần này vào lúc nào không?
Docu không nói gì về điều này, tôi cần tải tập tin cms.js bằng tay và tự mình xây dựng nhóm kiểm soát? Có vẻ lạ