: - )
我目前正致力于通过添加 rel =“prev”和 rel =“next”链接来使类别页面SEO友好。该页面分为多个页面,每页有12个产品 - 带有“页面菜单栏”,就像正常的分页一样。我跟着this tutorial。如果我输入网址,则一切正常: examplesite.com/tables.html?ajaxcatalog=true&p=2 (源代码包含rel =“prev”和rel =“next “链接到正确的页码。”
但是 - 如果我在菜单栏中单击页码(在页面菜单栏中),例如“2”。正在打开的页面是 examplesite.com/tables.html?ajaxcatalog=true& ,如果我检查,即使通过buttom / link的href =“”,也不包含“p = 2”它。
我真的无法弄清楚为什么页码不会显示在网址中。希望你能帮我!我需要url中的数字,以便在源代码中显示正确的prev和next链接。
奇怪的是 - 如果我输入链接 examplesite.com/tables.html?ajaxcatalog=true&%3B&p=2 并在页面上点击,页码保持不变在那里 - 一切正常运作!
如何创建上一个链接(我所在页面之前的一页)的示例:
<?php if (!$this->isFirstPage()): ?>
<li>
<a class="previous<?php if(!$this->getAnchorTextForPrevious()): ?> i-previous<?php endif;?>" href="<?php echo $this->getPreviousPageUrl() ?>" title="<?php echo $this->__('Previous') ?>">
getPreviousPageUrl()确实找到了正确的网址。点击链接会发生一些事情 - 这会使页码消失。
我正在使用Magento ver。 1.9.2.4和Smartvave的主题波尔图。
答案 0 :(得分:1)
以下是我申请的解决方案: 在smartwave porto中查找此文件( ajax.phtml ),就我的情况而言,它位于此处:
\应用\设计\前端\的SmartWAVE \波尔图\模板\的SmartWAVE \ ajaxcatalog \ ajax.phtml
在该文件中找到此行
&#34; url.replace(page_param,&#34;&#34;);&#34;
160 和 369 附近的某处。并在两个位置改变它。你的分页会起作用:)
&#34; url.replace(page_param,page_param);&#34;
我在你需要改变这条线的地方附上了这块。
var hist = url;
if(url.indexOf("p=") > -1){
var len = url.length-url.indexOf("p=");
var str_temp = url.substr(url.indexOf("p="),len);
var page_param = "";
if(str_temp.indexOf("&") == -1){
page_param = str_temp;
} else {
page_param = str_temp.substr(0,str_temp.indexOf("&"));
}
hist = url.replace(page_param,""); /* Change here !! */
}