无法向页面添加快速详细信息块。拖动块时,它只会在顶部显示一条蓝线。用于选择您想要的条目永远不会出现。但是添加列表块工作正常。升级到5.8.1希望它能解决问题,但没有运气。删除并重新添加快递对象等无济于事。
我发现块加载失败的地方,但无法找出失败的原因。 它失败并显示错误“在null上调用成员函数getID()”。第41行使用getEntity() - > getID()?>“ 因此看起来$ expressAttributes包含一个空值,但是代码计数($ expessAttributes)确实产生了一个(1)。我假设我在数据库中有一些缺失或不正确的东西,但是我无法找到从中拉出的表或缺少的表。使用正确的快递实体Id和描述填充先前的下拉列表。它很难调试,因为它看起来像是在使用ajax而我很难完全显示任何错误。 感谢
</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">
答案 0 :(得分:0)
$settings = $ak->getAttributeKeySettings();
$settings->getEntity()->getID();
您正在调用getEntity(),它是属性的Settings Class上的Express类的函数。您应该在Express对象上调用getEntity(),用于从中获取属性。我在代码中看不到Express对象。