Concrete5 Express Forms详细信息块可以';不能添加到第v5.8页

Concrete5 Express Forms详细信息块可以';不能添加到第v5.8页,concrete5,concrete5-8.x,Concrete5,Concrete5 8.x,无法将快速详细信息块添加到页面。当您拖动块时,它只是在顶部显示一条蓝线。用于选择所需条目的选项从未出现。但是,添加列表块可以很好地工作。升级到5.8.1,希望能解决问题,但运气不佳。删除并重新添加express对象等,但无效 我已经找到了块加载失败的地方,但无法找出is失败的原因。 它失败,错误为“在null上调用成员函数getID()。在第41行使用getEntity()->getID()?>” 因此,$expressAttributes似乎包含一个空值,但是代码计数($expessAttri

无法将快速详细信息块添加到页面。当您拖动块时,它只是在顶部显示一条蓝线。用于选择所需条目的选项从未出现。但是,添加列表块可以很好地工作。升级到5.8.1,希望能解决问题,但运气不佳。删除并重新添加express对象等,但无效

我已经找到了块加载失败的地方,但无法找出is失败的原因。 它失败,错误为“在null上调用成员函数getID()。在第41行使用getEntity()->getID()?>” 因此,$expressAttributes似乎包含一个空值,但是代码计数($expessAttributes)会产生一个(1)。我假设数据库中缺少或不正确的内容,但我找不到要从中提取的表或缺少的内容。上一个下拉列表中填充了正确的express实体Id和描述。很难调试,因为它看起来像是在使用ajax,我很难随时显示任何错误L 谢谢


您正在调用getEntity(),它是属性的设置类上的Express类的函数。您应该在用于获取属性的Express对象上调用getEntity()。我在代码中看不到Express对象

    </div>
<div class="form-group" data-container="express-entry-custom-attribute">
    <?php echo $form->label('akID', t('Express Entry Attribute'))?>
    <?php if (count($expressAttributes)) { ?>
    <select name="exEntryAttributeKeyHandle" class="form-control">
        <option value=""><?php echo t('** Select Attribute')?></option>
        <?php foreach($expressAttributes as $ak) {
            $settings = $ak->getAttributeKeySettings();
            ?>
            <option data-entity-id="<?php echo $settings->getEntity()->getID()?>" <?php if ($ak->getAttributeKeyHandle() == $exEntryAttributeKeyHandle) { ?>selected="selected" <?php } ?> value="<?php echo $ak->getAttributeKeyHandle()?>"><?php echo $ak->getAttributeKeyDisplayName()?></option>
        <?php } ?>
    </select>
    <?php } else { ?>
        <p><?php echo t('There are no express entity page attributes defined.')?></p>
    <?php } ?>
</div>

<div class="form-group">
    <?php echo $form->label('exFormID', t('Display Data in Entity Form'))?>
    <div data-container="express-entry-detail-form">
$settings = $ak->getAttributeKeySettings();
$settings->getEntity()->getID();