考虑这个HTML
<div class="parent">
<a href="#">Parent</a>
<div class="child">
<a href="#">Child</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要做的是将顶部child置于底部parent.
到目前为止这是我的CSS:
.parent {
position: relative;
}
.child {
position: absolute;
left: 0;
bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)
这实现了这个:
我想要实现的是:
请注意:我不知道父容器或子容器的高度,也不想设置任意高度,我也不想恢复使用JavaScript.
我的问题是我是否应该使用set_value()来重新填充表单.这可能看起来很奇怪,但是我正在创建一个共享控制器功能和视图,可用于添加新记录或编辑现有记录.这样做似乎很有意义,因为功能非常相似.
因此,如果我们调用现有记录进行编辑,我会这样做:
$data['fields'] = $this->customer_model->get_customer($id);
Run Code Online (Sandbox Code Playgroud)
如果表单提交保存记录,或者如果我们要添加一条记录的第一次,形式必须重新加载,如果用户出错的可能性,所以我填充$数据["域"]这种方式来代替:
$data['fields'] = array(
'company' => $this->input->post('company') ?: '',
'website' => $this->input->post('website') ?: '',
'credit_limit' => $this->input->post('credit_limit') ?: ''
);
Run Code Online (Sandbox Code Playgroud)
我的表单元素如下所示:
<input type="text" name="company" value="<?php echo set_value('company', $fields['company']); ?>" />
Run Code Online (Sandbox Code Playgroud)
但我认为它可能看起来像这样:
<input type="text" name="company" value="<?php echo escape_html($fields['company']); ?>" />
Run Code Online (Sandbox Code Playgroud)
由于表单数据可能来自任何用户输入(添加或保存时)或从数据库(检索记录进行编辑时),我不能完全依赖post()或set_value()没有第二个参数.此外,set_value()的第二个参数将始终存在($fields['company']在此示例中),因为它从头开始初始化,这就是为什么我想直接使用它.
这种方法有问题吗?
我使用的是Woocommerce订阅插件,在处理订单续订电子邮件中,我想显示下一个付款日期。但是,当我尝试访问订单的下一个付款日期时,它总是返回false。
<?php
if (WC_Subscriptions_Renewal_Order::is_renewal( $order ) ) { /* This returns true */
$parent_id = WC_Subscriptions_Renewal_Order::get_parent_order_id( $order ); /* This gets the original parent order id */
$parent_order = new WC_Order( $parent_id );
foreach ($parent_order->get_items() as $item) { /* This loops through each item in the order */
$h = WC_Subscriptions_Order::get_next_payment_date ( $parent_order, $item['product_id'] ); /* This should get the next payment date... */
var_dump($h); /* But it returns false :-( */
}
}
?>
Run Code Online (Sandbox Code Playgroud)
其他功能,如WC_Subscriptions_Order::get_total_initial_payment()预期的工作。
如何获得订购订单的下一个付款日期?
通常我很擅长 CSS,但我不知道如何做这个特定的布局。
我有一个最大宽度为 1,400 像素的容器。左右边距设置为auto当视口高于 1,400 像素时,容器居中。
然后我在容器外有一个图像,旁边有一个 div,图像占据视口的 40%,div 占据视口的剩余 60%。
我想要的是 60% 部分内的一个 div,它不会比上面 1,400 像素容器的右侧边缘更宽。
一张图可能会让事情更清楚:
到目前为止,我的 CSS:
div.container {
max-width: 1400px;
margin: 0 auto;
}
img {
display: inline-block;
width: 40%;
}
div.right {
display: inline-block;
width: 60%;
}
div.inner {
???
}
Run Code Online (Sandbox Code Playgroud)
因为div.inner我尝试过百分比的变化,calc但无济于事。为了澄清起见,除了粉红色框之外,布局上的所有内容都很好,我无法与红色框的右侧边缘对齐。