PDA

Zobacz pełną wersję : Edytowalne style do pliku CSS



expedit
06-09-2013, 12:22
Witam

Buduje szablon dla Joomli 2.5 i 3 z możliwością zmiany czcionki, kolorystyki itp od zaplecza ( w ustawieniasz szablonu ) wszystko działa świetnie ale chciałem się poradzić co zrobić w tej kwestii:

Żebym mógł edytować szablon od zaplecza musze w danym stylu wstawić funkcje, jednak jak ja wstawie w pliku .css to nie działa. Dlatego style które mają być zmienne musze montować bezpośrednio w plik index.php, przykład poniżej ( cześć kodu ) :

<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$font = $this->params->get('font');
$font_size = $this->params->get('font_size');
$header = $this->params->get('header');
$title = $this->params->get('title');
$color = $this->params->get('color');
$footer = $this->params->get('footer');
$social_fb = $this->params->get('social_fb');
$social_twiter = $this->params->get('social_twiter');
$social_rss = $this->params->get('social_rss');
$width = $this->params->get('width');
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" /><link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/style.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/link.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/menu.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/jquery.bxslider.css" type="text/css" />
<?php
$contentwidth = "100";
if($this->countModules('left or right') == 1) $contentwidth = "80";
if($this->countModules('left and right') == 1) $contentwidth = "60";
?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="templates/fxdesign-yoursite/js/jquery.bxslider.min.js"></script>
<script language="javascript">
$(document).ready(function(){
$('.bxslider').bxSlider();
});</script>
<style>
@import url(http://fonts.googleapis.com/css?family=Monda);
@import url(http://fonts.googleapis.com/css?family=BenchNine);
@import url(http://fonts.googleapis.com/css?family=Ruluko);
body {
font-family: <?php echo htmlspecialchars($font); ?>;
font-size: <?php echo htmlspecialchars($font_size); ?>;
}
.logo p:first-letter {
background-color: <?php echo htmlspecialchars($color); ?>;

}
.box_left .moduletable {
border-bottom-color: <?php echo htmlspecialchars($color); ?>;

}
.module_box_right {
border-bottom-color: <?php echo htmlspecialchars($color); ?>;
}
.menu ul li:hover ul li a {
background: <?php echo htmlspecialchars($color); ?>;
}
h3:first-letter {
background-color: <?php echo htmlspecialchars($color); ?>;
}
.bottom {
background-color: <?php echo htmlspecialchars($color); ?>;
}
.top_bg {
background-color: <?php echo htmlspecialchars($color); ?>
}
.menu ul li.active a {
background-color: <?php echo htmlspecialchars($color); ?>;
}
.menu a:hover {
background-color: <?php echo htmlspecialchars($color); ?>;
}
.site {
max-width: <?php echo htmlspecialchars($width); ?>;
}
.bottom_box {
max-width: <?php echo htmlspecialchars($width); ?>;
}
.header {
max-width: <?php echo htmlspecialchars($width); ?>;
}
</style>
</head>
<body>


Moje pytanie, czy jest jakiś posób żeby te style wsadzic gdzie ich miejsce znaczy w plik .css lub jakikolwiek zewnętrzny a nie w sam index.php ??

Z góry dzięki za odpowiedź. Pozdrawiam

dviper
06-09-2013, 17:21
Możesz wstawić style do plików css i wczytywać odpowiedni css w zależności od warunku
Coś w stylu



<?php if($this->countModules('left or right') == 1) { ?>
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/jeden_plik_ze_stylem.css" type="text/css" />
<?php }if($this->countModules('left and right') == 1) { ?>
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/drugi_plik_ze_stylem.css" type="text/css" />
<?php } ?>