【发布时间】:2020-03-07 00:42:41
【问题描述】:
如何删除模板中的空格输出?例如,我有一个 $Brand,其中一些输出是两个单词,就像我的 php 变量中的 TommyHilfiger 一样。输出变为“Tommy Hilfiger”。这非常适合前端显示,但我如何将其渲染为 TommyHilfiger 或 Tommy-Hifiger?我想在我的 html 中将它们用作 css 类。例如,像 $Brand.Nospaces。还是需要在PHP中完成?
PHP
class ProductPage extends Page {
// Contact object's fields
public static $db = array(
'Brand' => 'Varchar(255)'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Details",
new DropdownField("Brand", "Brand",
array(
"Adidas" => "Adidas",
"AmericanSportsTeams" => "American Sports Teams",
"United Colors of Benetton" => "United Colors of Benetton",
"Valentino" => "Valentino",
)
)
);
return $fields;
}
}
class ProductPage_Controller extends Page_Controller {
}
模板 ProductPage.ss
<% loop Children %>
<li class="$Brand">
<a href="$Link">
<figure style="background-image: URL(<% loop $ProductImages.limit(1,1) %>$Fill(400,600).URL<% end_loop %>);">
<img src="<% loop $ProductImages.limit(1) %>$Fill(400,600).URL<% end_loop %>" alt="$Title"
class="snipcart-add-item"
data-item-id="P$ID $MenuTitle"
data-item-max-quantity="1"
data-item-stock="1"
data-item-name="$Title"
data-item-price="<% if $SalePrice %>$SalePrice<% else %>$Price<% end_if %>"
data-item-description="$Content"
data-item-image="<% loop $ProductImages.limit(1) %>$Pad(50,50).URL<% end_loop %>">
</figure>
<div id="pro-deets">
<h3>$Title</h3>
$Brand
</div>
</a>
</li>
<% end_loop %>
也许有:
$filter = URLSegmentFilter::create();
$className = $filter->filter($title);
我只是不清楚如何将它应用于 $Brand 它需要将模板作为 $BrandNoSpace 或其他东西,因为我需要将 $Brand 及其空格也用于显示的 txt。
【问题讨论】:
标签: php html templates silverstripe