【发布时间】:2020-10-07 07:48:38
【问题描述】:
这是我知道您可能需要的服务器版本:
- CodeIgniter 版本:3.1.9
- PHP 版本:7.3.6
一般来说,我是 php 和网页设计的新手。
对于 CodeIgniter 的 PHP 速记工具来说尤其如此。我的一位朋友由于她的“日常工作”而变得越来越难以联系,他是几年前为本网站编写代码的人。最近,我已经独立使用它一段时间了,我学到了很多东西。但是,我最近遇到了一个小问题,我想知道是否有人可以帮助我:
最初我所有的 CSS 文件都是外部样式表。在这些样式表中,所有这些样式表都在 100% 的时间内加载。因此,我开始思考:“我想知道是否可以在 特定 时间为 特定 页面在 CodeIgniter 中加载单独的样式表。产生这个想法的是我的” main.css" 包含我的大部分网站样式,但现在它已经变成了大约 585 行样式。如果我可以将其中的一些卸载到单独的样式表中以便于编辑,这将使事情变得更容易从更新的角度来看,这将使生活轻松多了。
对于所有听起来很简单的编码人员来说,对吧?好吧,我试图在特定时间加载特定样式的事实有一个小问题。为了更好地解释这一点,我应该注意该站点有两个区域。一是大家都可以看到的公开的一面。另一个是我所说的“管理端”,但实际上只有编辑控制台来添加页面、查看服务器代码版本等。这让我想到了我的问题的核心。如何在 CodeIgniter 的 PHP 框架中添加 仅 在用户“登录”时适用的样式表?这是因为这些样式仅适用于该内容。我已经有一个系统可以加载“仅限管理员的项目”,例如她设置为“如果 $admin ....”的问答/注释导航栏。我不知道这是否有帮助,但这就是重点我希望这个“admin.css”文件加载。
所以,这就是我迷路的地方。我知道你们需要查看一些文件才能提供帮助,但我不知道哪些文件。
我知道您可能需要查看主“站点”控制器,所以这里是一个
网站.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需要加载的模板页面:
模板.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>
我不确定您可能还需要看什么。所以,请回复,我会提供其他可能需要的东西。
提前谢谢大家!
乔什
【问题讨论】:
标签: php css codeigniter