Twig/Timber 操作员在 WordPress 中不适合我
Twig/Timber operator is not working for me in WordPress
我已将 productprice
和 salestax
设置为变量,但在让此运算符正常工作 {{ productprice * 0.salestax }}
以与 twig/timber 一起工作时遇到了一个真正的问题WordPress 它根本不计算任何东西?
然而,这工作正常,完全没有问题 {{ productprice * 0.06 }}
并转储 {{ dump(salestax) }}
= string '06' (length=2)
感谢任何帮助!
正如您的转储显示 salestax
return string
- 它 不可 可数 - 无法应用数学。它也不能以这种方式连接 - twig 使用 ~
进行连接。
为了工作,您首先需要做的是将字符串值转换为整数。您可以在 PHP 边和树枝模板
上进行
PHP:
我个人推荐这种方式,因为您的逻辑将应用于应用程序的后端部分。
// *.php
// Get Timber context
$ctx = Timber::context();
$productPrice = 1000; // it is integer
$salesTax = '06'; // it is a string as you would get it now (from post meta or whatever)
// set new variable
$salesPrice = $productPrice * ( 1 - (int) $salesTax / 100 ); // (int) string will return integer - so math is works
//pass it to context
$ctx['salesprice'] = $salesPrice;
// Render twig
Timber::render( 'view.twig', $ctx );
现在您可以在您的 twig 文件中访问它(在我的示例中它应该 return 940)
{{ salesprice }}
树枝:
但是如果你想处理树枝中的逻辑,你可以使用 number_format filter
转换字符串
{{ productprice * ( 1 - salestax|number_format / 100 ) }}
我已将 productprice
和 salestax
设置为变量,但在让此运算符正常工作 {{ productprice * 0.salestax }}
以与 twig/timber 一起工作时遇到了一个真正的问题WordPress 它根本不计算任何东西?
然而,这工作正常,完全没有问题 {{ productprice * 0.06 }}
并转储 {{ dump(salestax) }}
= string '06' (length=2)
感谢任何帮助!
正如您的转储显示 salestax
return string
- 它 不可 可数 - 无法应用数学。它也不能以这种方式连接 - twig 使用 ~
进行连接。
为了工作,您首先需要做的是将字符串值转换为整数。您可以在 PHP 边和树枝模板
上进行PHP: 我个人推荐这种方式,因为您的逻辑将应用于应用程序的后端部分。
// *.php
// Get Timber context
$ctx = Timber::context();
$productPrice = 1000; // it is integer
$salesTax = '06'; // it is a string as you would get it now (from post meta or whatever)
// set new variable
$salesPrice = $productPrice * ( 1 - (int) $salesTax / 100 ); // (int) string will return integer - so math is works
//pass it to context
$ctx['salesprice'] = $salesPrice;
// Render twig
Timber::render( 'view.twig', $ctx );
现在您可以在您的 twig 文件中访问它(在我的示例中它应该 return 940)
{{ salesprice }}
树枝: 但是如果你想处理树枝中的逻辑,你可以使用 number_format filter
转换字符串{{ productprice * ( 1 - salestax|number_format / 100 ) }}