【发布时间】:2015-08-17 00:18:36
【问题描述】:
所以我使用 twig 和 slim 以及你的普通 PHP 来做一些分页。预分页,slim 没有从链接中删除空格/撇号,但现在可以了。感谢您提供任何帮助,希望这不是显而易见的愚蠢行为。
相关代码如下所示。如果您需要更多,请询问我。
路线
$results = $mysqli_conn->query("SELECT * FROM businesses ORDER BY id ASC LIMIT $page_position, $item_per_page");
//Display records fetched from database.
while($row = $results->fetch_assoc()) {
$name = $row['name'];
$link_bprofile = $app->urlFor('business.profile', array('name' => $name));
$link_adminedit = $app->urlFor('admin.business.edit', array('business' => $name));
$link_admindelete = $app->urlFor('admin.business.delete', array('business' => $name));
$endResult .= '<tr>';
$endResult .= "<td>[<a href='$link_bprofile'>Profile</a>]</td>";
$endResult .= "<td>$name</td>";
$endResult .= "<td>[<a href='$link_adminedit'>Edit</a>]</td>";
$endResult .= "<td>[<a href='$link_admindelete'>Remove</a>]</td>";
$endResult .= "<td>$name</td>";
$endResult .= '</tr>';
}
## End displaying Records ##
$app->render('/business/all.php', [
'businesses' => $businesses,
'business' => $app->business,
'pagination' => $endResult,
'links' => $app->business->pagination($total_pages, $item_per_page, $currentPage, $page_url)
]);
查看
<div class="container-fluid main-container">
<div class="col-md-12 content">
<div class="panel panel-default">
<div class="panel-heading"> Businesses </div>
<div class="panel-body text-center">
<table class="table table-striped table-hover" style="text-align: center;" name="businesses_tab" id="businesses_tab">
<thead>
<tr>
<th style="text-align: center;"></th>
<th style="text-align: center;">Name</th>
<th style="text-align: center;">Upvotes</th>
<th style="text-align: center;">Downvotes</th>
<th style="text-align: center;">Reviews</th>
</tr>
</thead>
<tbody>
{{ pagination | raw }}
</tbody>
</table>
<ul class="pagination">
{{ links | raw }}
</ul>
</div>
</div>
</div>
编辑
我做了更多的审查,发现了一些有趣的东西; Slim 将链接(以纯文本形式查看)输出为“/dev/website/public/b/McDonald's”,但查看链接本身时没有撇号和“s”。这有帮助,但我仍然找不到解决此问题的方法。
【问题讨论】:
-
你能清楚地说明你的问题是什么吗?我认为它不清楚你在问什么。
-
@Subash 当从我的数据库中打印出所有信息时,它会在页面上正确显示名称,但配置文件的链接正在删除撇号及其后面的任何文本
-
看看
urlFor()到底做了什么并尝试调试它。 -
@DeDee 我在最后更新了我的帖子,所以请检查一下...我也查了一下:“Slim 应用程序的 urlFor() 方法允许您为命名路由动态创建 URL因此,如果要更改路由模式,您的 URL 将自动更新而不会破坏您的应用程序。” - 引用自官方 slim 文档
-
如果您的应用程序的特定部分中的链接有问题,您可以使用老派调试,只需备份定义
urlFor()的文件并编辑原始urlFor()添加您自己的日志记录功能函数传递或处理保存名称的变量,然后您应该看到它丢失撇号的确切位置。您可以使用echo、fwrite()或任何您喜欢的方式。它通常会导致对其他地方明显遗漏的东西的启发。
标签: php twig slim html-escape-characters