我试图通过制作自定义自动加载器在我的应用程序中使用phpThumb.
class My_Loader_Autoloader_PhpThumb implements Zend_Loader_Autoloader_Interface {
static protected $php_thumb_classes = array(
'PhpThumb' => 'PhpThumb.inc.php',
'ThumbBase' => 'ThumbBase.inc.php',
'PhpThumbFactory' => 'ThumbLib.inc.php',
'GdThumb' => 'GdThumb.inc.php',
'GdReflectionLib' => 'thumb_plugins/gd_reflection.inc.php',
);
/**
* Autoload a class
*
* @param string $class
* @return mixed
* False [if unable to load $class]
* get_class($class) [if $class is successfully loaded]
*/
public function autoload($class) {
$file = APPLICATION_PATH . '/../library/PhpThumb/' . self::$php_thumb_classes[$class];
if (is_file($file)) {
require_once($file);
return $class;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我 …
1)如何访问$keywordpaginator内部的搜索部分以创建搜索友好URL?显然,传递关键字$ this-> view-> paginator-> keyword不起作用.
2)目前,搜索按钮的名称也作为参数发送.例如,当搜索"a"时,网址变为http://localhost/search/index/search/a/submit//page/2.有什么方法可以阻止这个?
搜索表格:
<form id="search" method="get" action="/search">
<input id="searchfield" onClick="this.value=''" type="text" name="search" value="Search wallpapers"/>
<input id="searchbutton" type="submit" value="" name="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
searchController中的动作:
public function indexAction()
{
$keyword=$this->_request->getParam('search');
$alnumFilter=new Zend_Filter_Alnum();
$dataModel=new Model_data();
$adapter=$dataModel->fetchPaginatorAdapter("title LIKE '%".$keyword."%'", '');
$paginator=new Zend_Paginator($adapter);
$paginator->setItemCountPerPage(18);
$page=$this->_request->getParam('page', 1);
$paginator->setCurrentPageNumber($page);
$this->view->paginator=$paginator;
$this->view->keyword=$keyword;
}
Run Code Online (Sandbox Code Playgroud)
index.phtml(查看)文件:
<div id="page-links">
<?= $this->paginationControl($this->paginator,'Sliding','partials/search-pagination-control.phtml');?>
</div>
Run Code Online (Sandbox Code Playgroud)
search-paginator-control.phtml文件:
if ($this->pageCount){
$params=Zend_Controller_Front::getInstance()->getRequest()->getParams();
if(isset($this->previous)){
?>
<a href="<?php echo $this->url(array_merge($params,array('page'=>$this->previous)));?>">Previous</a>
<?php
}
else{
?> Previous <?php
}
foreach($this->pagesInRange as $page){ …Run Code Online (Sandbox Code Playgroud)