我对一些混乱的代码没有什么问题,我认为它可以更好,我使用分页类来显示页面,我唯一的问题是我想让它与众不同?现在我的控制器中有一些功能?
public function products
{
$config["per_page"] = 4;
$config["uri_segment"] = 2;
$config['cur_tag_open'] = '<li><span class="page active">';
$config['cur_tag_close'] = '</span></li>';
$config['num_tag_open'] = '<li class="page gradient">';
$config['num_tag_close'] = '</li>';
$config['prev_link'] = '< prev';
$config['prev_tag_open'] = ' <li class="page gradient">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = 'next >';
$config['next_tag_open'] = '<li class="page gradient">';
$config['next_tag_close'] = '</li>'
}
和其他同样的
public function milks
{
$config["per_page"] = 4;
$config["uri_segment"] = 2;
$config['cur_tag_open'] = '<li><span class="page active">';
$config['cur_tag_close'] = '</span></li>';
$config['num_tag_open'] = '<li class="page gradient">';
$config['num_tag_close'] = '</li>';
$config['prev_link'] = '< prev';
$config['prev_tag_open'] = ' <li class="page gradient">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = 'next >';
$config['next_tag_open'] = '<li class="page gradient">';
$config['next_tag_close'] = '</li>'
}
你看到有一样的吗?但我用了两次,每次分页时,我都必须在该函数中放入配置,是否可以像一样以全局方式对其进行样式设置
function __construct()
{
$config["per_page"] = 4;
$config["uri_segment"] = 2;
$config['cur_tag_open'] = '<li><span class="page active">';
$config['cur_tag_close'] = '</span></li>';
$config['num_tag_open'] = '<li class="page gradient">';
$config['num_tag_close'] = '</li>';
$config['prev_link'] = '< prev';
$config['prev_tag_open'] = ' <li class="page gradient">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = 'next >';
$config['next_tag_open'] = '<li class="page gradient">';
$config['next_tag_close'] = '</li>';
}
我在应用程序中使用的所有其他分页都使用相同的样式,而不是逐个函数重复?
问候
有可能以全球的方式来设计它吗?
是的。
更新
来自CodeIgniter用户指南:
如果您不想使用上述方法设置首选项,可以将它们放入配置文件中。只需创建一个名为pagination.php的新文件,并在该文件中添加$config数组。然后将文件保存在:
config/pagination.php
中,它将自动使用。如果将首选项保存在配置文件中,则NOT需要使用$this->pagination->initialize
函数。
老答案
创建一个语言文件(或配置文件,您可以选择),并将分页配置放入:
例如:./application/language/english/pagination_lang.php
:
$lang['pagination_conf'] = array(
'full_tag_open' => "<ul>",
'full_tag_close' => "</ul>",
'first_link' => "First",
'first_tag_open' => "<li>",
'first_tag_close' => "</li>",
'last_link' => "Last",
'last_tag_open' => "<li>",
'last_tag_close' => "</li>"/*,
And so on... */
);
然后将语言文件加载到控制器中,并将值传递给配置数组:
$this->lang->load('pagination');
$config = $this->lang->line('pagination_conf');
在这种情况下,一旦更改了源文件,所有内容都将更改。
如果您使用配置文件,您可以将值存储在一个数组中,并且您将能够设置多个分页配置:
配置文件:./application/config/pagination_conf.php
:
$config['pagination_conf'] = array(
'case1' => array(
'full_tag_open' => '...',
'full_tag_close' => '...',
'first_link' => '...'
// So on...
),
'case2' => array(
'full_tag_open' => '...',
'full_tag_close' => '...',
'first_link' => '...'
// So on...
)
);
您可以通过以下方式访问case1
配置:
$this->config->load('pagination_conf', TRUE);
$config = $this->config->item('case1', 'pagination_conf');
将配置文件放入名为config/pagination.php的文件中;它将是全局