以下是我知道您可能需要的服务器版本:
我是php和网页设计的新手。
当涉及到CodeIgniter的PHP速记工具时尤其如此。 我的一个朋友由于“白天的工作”而变得越来越难联系,她是几年前为这个网站编写代码的人。 最近,我一直在我自己与它有一段时间了,现在我学到了很多。 但是,我最近遇到了一个小问题,不知道有没有人能帮我:
最初我所有的CSS文件都是外部样式表。 在这些样式表中,所有样式表都是100%加载的。 因此,我开始思考:“我想知道是否有可能在特定的时间为特定的页面在CodeIgniter中加载单独的样式表。产生这个想法的原因是我的”main.css“保存了我站点的大部分样式,但它现在已经包含了大约585行样式。如果我可以将其中的一些样式表卸载到单独的样式表中,以便更容易地编辑,那么从更新的角度来看,事情会变得容易得多,这将使生活变得更容易。”
对所有的程序员来说,这听起来很简单,对吧? 嗯,有一个轻微的捕捉事实,我试图加载在特定的文体在特定的时间。 为了更好地解释这一点,我应该注意到该站点有两个区域。 一个是大家都看得见的公共的一面。 另一个是我所说的“管理端”,但真正有的只是编辑控制台来添加页面,查看服务器代码版本等,这就把我带到了问题的核心。 如何在CodeIgniter的PHP框架中添加样式表,该样式表仅在用户“登录”时才适用? 这是因为这些样式只适用于那个内容。 我已经有一个系统加载“只管理项目”,像Q&a/Notes导航栏,她设置为“如果$admin.。。。”。 我不知道这是否有帮助,但这就是我希望加载这个“admin.css”文件的地方。
这就是我迷路的地方。 我知道你们需要看一些文件来帮忙,但我不知道是哪些。
我知道你可能需要看到主“站点”控制器,所以这里有一个
site.php
<?php
class Site extends MY_Controller{
function __construct() {
parent::__construct();
$this->load->helper('url');
$this->session->set_flashdata('uri', $this->uri->uri_string());
$this->load->model('page_model');
}
function index(){
$uri = $this->uri->rsegment(3);
if(!isset($uri) or $uri == ''){
$uri = 'home';
}
else if($uri == 'admin'){
$this->require_login();
$uri = 'admin/'.$this->uri->rsegment(4);
}
$page = $this->page_model->read($uri);
if(!isset($page)){
show_404('page');
die;
}
$data = array(
'title' => "Shirley's Recipes:".$page['title'],
'id' => $uri,
'columns' => array('toc', 'page'),
'page' => $page,
'updated' => $this->format_date($page['updated'])
);
$this->load->view('includes/template', $data);
}
function add(){
$this->require_login();
if($this->input->post('submit')){
$id = $this->input->post('name');
if($this->input->post('admin') == 'admin'){
$id = 'admin/'.$id;
}
$data = array(
'id' => $id,
'title' => $this->input->post('title'),
'page' => $this->input->post('page')
);
$this->page_model->create($data);
redirect('site/'.$id);
}
else{
$data = array(
'title' => "Shirley's Recipes:Add New Page ",
'columns' => array('toc', 'admin/page_edit'),
'id' => '',
'page' => array('title' => '', 'page' => ''),
'edit' => False
);
$this->load->view('/includes/template', $data);
}
}
function edit(){
$this->require_login();
$uri = $this->uri->rsegment(3);
if(!isset($uri) or $uri == ''){
echo 'URI must specify page to be edited: domain.com/site/edit/[pagename]';
die;
}
else if($uri == 'admin'){
$uri = $this->uri->rsegment(4);
if(!isset($uri) or $uri == ''){
echo 'URI must specify page to be edited: domain.com/site/add/admin/[pagename]';
die;
}
else{
$uri = 'admin/'.$uri;
}
}
if($this->input->post('submit')){
$data = array(
'id' => $uri,
'title' => $this->input->post('title'),
'page' => $this->input->post('page')
);
$this->page_model->update($uri, $data);
redirect('site/'.$uri);
}
else{
$page = $this->page_model->read($uri);
$data = array(
'title' => "Shirley's Recipes:Edit Page : ".$uri,
'columns' => array('toc', 'admin/page_edit'),
'id' => $uri,
'page' => $page,
'edit' => True
);
$this->load->view('/includes/template', $data);
}
}
function delete(){
$this->require_login();
$uri = $this->uri->rsegment(3);
if(!isset($uri) or $uri == ''){
echo 'URL must specify page to be deleted: domain.com/site/delete/[pagename]';
die;
}
else if($uri == 'admin'){
$uri = 'admin/'.$this->uri->rsegment(4);
}
$this->page_model->delete($uri);
redirect('/');
}
}
// End - site.php
?>
css需要加载的模板页面:
template.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="en-us" http-equiv="Content-Language" />
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes" />
<title><?=$title ?></title>
<link rel="shortcut icon" href="/assets/images/icons/favicon.ico">
<link rel="stylesheet" type="text/css" href="/assets/css/main.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/assets/css/admin.css" media="screen" />
<!-- <link rel="stylesheet" type="text/css" href="/assets/css/mobile.css" media="screen" /> -->
<link rel="stylesheet" type="text/css" href="/assets/css/recipe.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/assets/css/calc.css" media="All" />
<link rel="stylesheet" type="text/css" href="/assets/css/pagination.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="/assets/css/wmd.css" media="screen"/>
</head>
<body>
<div id="main-wrapper">
<div id="parent-container">
<div id="logo" class="box">
<a href="/"><img alt="Shirley's Recipes" src="/assets/images/logo/logoh1.png"></a>
</div>
<div id="searchform" class="box noprint">
<?php
echo form_open('recipe/search', array('class' => 'form'));
echo form_input(array('name' =>'query','onfocus' => "this.value = '';", 'onblur' => "if(this.value == ''){this.value ='Recipe Search'}", 'value' => 'Recipe Search'));
echo form_submit('submit', '', 'class="button"');
echo form_close();
?>
</div>
<nav id="topnav" class="box menu horizontal noprint">
<ul>
<li style="z-index: 4;"><a href="/">Home</a></li>
<li style="z-index: 3;"><a href="/contact">Contact</a></li>
<li style="z-index: 2;"><a href="/site/dedication">Dedication</a></li>
<li style="z-index: 1;"><a href="/site/bookinfo">Recipe Book Info</a></li>
<?php
if($admin){
echo '<li class="adminbutton"><a href="/logout">Logout</a></li>';
}
else{
echo '<li class="adminbutton"><a href="/login">Admin Login</a></li>';
}
?>
</ul>
<script>
var navs = document.getElementById('topnav').getElementsByTagName('a');
for (var i = 0; i < navs.length; i++) {
if (navs[i].getAttribute("href") == window.location.pathname) {
navs[i].className += " active_nav";
}
}
</script>
</nav>
<?php
if($admin) {
$this->load->view('admin/notesnav');
}
?>
<div id="columns">
<?php
if($admin) {
$start = array_slice($columns, 0, 1);
$end = array_slice($columns, 1);
$columns = array_merge($start, $end);
}
foreach($columns as $column){
$this->load->view($column);
}
?>
</div>
<div id="footer">
©copyright <a href=<?=site_url() ?>>Shirley's Recipes</a><br>
<div id="codeversion" class="noprint">
<?php
if($admin){
echo '<a href="https://codeigniter.com/">CodeIgniter</a> Version: 3.1.9<br>';
echo '<a href="http://www.php.net/">PHP</a> Version: 7.3.6<br>';
}
?>
</div>
</div>
</div>
</body>
</html>
我不知道你还需要看什么。 所以,请回复,我会提供任何其他可能需要的。
提前感谢大家!
乔希
在视图
ietemplate.php
(此处)中,您只需在签入控制器
时检查条件-
<?php
$uri = $this->uri->rsegment(3);
if(!isset($uri) or $uri == ''){
// All your common stylesheets and scripts
echo '<link rel="stylesheet" type="text/css" href="bla bla" />';
echo '<link rel="stylesheet" type="text/css" href="bla1 bla1" />';
}else if($uri == 'admin'){
// All your specific stylesheets and scripts for admin
echo '<link rel="stylesheet" type="text/css" href="bla2 bla2" />';
echo '<link rel="stylesheet" type="text/css" href="bla3 bla3" />';
}
?>
此外,您正在使用$admin
检查视图中的条件,以显示登录和注销按钮,您可以这样做-
if($admin){
// your specific files here
echo '<link rel="stylesheet" type="text/css" href="bla4 bla4" />';
}else{
// common files here
echo '<link rel="stylesheet" type="text/css" href="bla5 bla5" />';
}
看看这对你有没有帮助。