Форум программистов, компьютерный форум, киберфорум
Joomla
Войти
Регистрация
Восстановить пароль
 
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 125
1

Перенести стиль из body в head Joomla 3

10.12.2020, 13:15. Просмотров 363. Ответов 10

Хочу перенести стиль из Body в Head. Перенес так взял:

include 'styles.php';

И поставил в тег Head но все ровно вызывается он в body.

Закинул в конец где выполняется функция в index.php


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
        if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
 
        $menu = $app->getMenu();
        $menu_active = $menu->getActive();
 
        $menu_id = 0;
        if (JRequest::getVar('view') != 'form')
        {
            $menu_id = $menu_active->id;
        }
 
        include 'ie8warning.php';
        include 'params.php';
       //
    
       //
        include 'styles.php';
    ?>
Был добавлен код в style.php Согласно документации. Проблему не решило. Код немного сократил чтобы проще читался

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 
require __DIR__ . '/fonts.php';
$bg_color                   = '#' . $params->get('bg_color');
$gradient_topcolor          = $params->get('gradient_topcolor');
$gradient_btmcolor          = $params->get('gradient_btmcolor');
$font_family                = $params->get('font_family');
$google_font                = array('fontlink'=>false, 'fontfamily'=>false);
$google_font                = googleFontChooser($font_family);
$font_family                = $google_font['fontfamily'];
?>
$document = JFactory::getDocument();
$style = '
<style>
#as-menu,
#as-menu ul.as-menu ul
{
    background-color: <?php echo $bg_color ?>;
    border-radius: <?php echo $border_radius ?>px;
 
    <?php  if($gradient_topcolor && $gradient_btmcolor): ?>
    background-image: -moz-linear-gradient(top, #<?php echo $gradient_topcolor . ', #' . $gradient_btmcolor ?>);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#<?php echo $gradient_topcolor ?>), to(#<?php echo $gradient_btmcolor ?>));
    background-image: -webkit-linear-gradient(top, #<?php echo $gradient_topcolor . ', #' . $gradient_btmcolor ?>);
    background-image: -o-linear-gradient(top, #<?php echo $gradient_topcolor . ', #' . $gradient_btmcolor ?>);
    background-image: linear-gradient(to bottom, #<?php echo $gradient_topcolor . ', #' . $gradient_btmcolor ?>);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff<?php echo $gradient_topcolor ?>', endColorstr='#ff<?php echo $gradient_btmcolor ?>', GradientType=0);
    <?php endif; ?>
}
</style> ';
$document->addStyleDeclaration($style);
Документация:

https://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page#CSS_Examples
0
Миниатюры
Перенести стиль из body в head Joomla 3  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2020, 13:15
Ответы с готовыми решениями:

Тег из head уезжает в body
Есть файл index.php в котором подключается шапка header.php. Содержимое header.php: &lt;!DOCTYPE...

Содержимое head переносится в body
Есть ли вред от этого? И если да , то как это исправить кодировка без DOM, дело в том что есть...

Meta вместо head загружается в body
Добрый день! Ковырял гугл, но по запросу толкового так и не нашел, возможно не правильно ставлю...

Где вставлять <script> в head or body ?
Есть ли разница в &lt;head&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;scripts/jquery.js&quot;&gt;&lt;/script&gt;...

10
23 / 18 / 6
Регистрация: 25.07.2014
Сообщений: 494
10.12.2020, 14:09 2
Попробуйте в head инклудить перед <jdoc:include type="head" />
PHP
1
2
<?php include 'styles.php';?>
<jdoc:include type="head" />
0
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 125
10.12.2020, 14:31  [ТС] 3
Цитата Сообщение от Stasweb Посмотреть сообщение
Попробуйте в head инклудить перед <jdoc:include type="head" />
PHPВыделить код
1
2
<?php include 'styles.php';?>
<jdoc:include type="head" />
Все ровно в боди они. Как на скриншоте
0
23 / 18 / 6
Регистрация: 25.07.2014
Сообщений: 494
10.12.2020, 14:36 4
А почему вот эта часть кода без <?php ?>
1
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 125
10.12.2020, 14:44  [ТС] 5
Поставил пхп теги

Добавлено через 2 минуты
Но он все ровно в Боди вызывается
0
23 / 18 / 6
Регистрация: 25.07.2014
Сообщений: 494
10.12.2020, 14:44 6
Попробуйте так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
 
require __DIR__ . '/fonts.php';
$bg_color                   = '#' . $params->get('bg_color');
$gradient_topcolor          = $params->get('gradient_topcolor');
$gradient_btmcolor          = $params->get('gradient_btmcolor');
$font_family                = $params->get('font_family');
$google_font                = array('fontlink'=>false, 'fontfamily'=>false);
$google_font                = googleFontChooser($font_family);
$font_family                = $google_font['fontfamily'];
 
$document = JFactory::getDocument();
$style = '
<style>
#as-menu,
#as-menu ul.as-menu ul
{
    background-color: '.$bg_color.';
    border-radius: '.$border_radius .'px;
 
    <?php  if($gradient_topcolor && $gradient_btmcolor): ?>
    background-image: -moz-linear-gradient(top, #'.$gradient_topcolor . ', #' . $gradient_btmcolor.');
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#'.$gradient_topcolor.'), to(#'. $gradient_btmcolor.'));
    background-image: -webkit-linear-gradient(top, #'.$gradient_topcolor . ', #' . $gradient_btmcolor .');
    background-image: -o-linear-gradient(top, #'.$gradient_topcolor . ', #' . $gradient_btmcolor .');
    background-image: linear-gradient(to bottom, #'.$gradient_topcolor . ', #' . $gradient_btmcolor.');
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff 
    " '.$gradient_topcolor', endColorstr="#ff" '.$gradient_btmcolor .', GradientType=0);
    <?php endif; ?>
}
</style> ';
$document->addStyleDeclaration($style);
?>
0
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 125
10.12.2020, 14:51  [ТС] 7
Все ровно в боди.
Вот индекс пхп.
Вызов идет в классе хэдер роу
Вызова не овидел. Инклудю его в хэде. Все как по учебнику


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<div id="header-row">
                    <div class="container">
                        <div class="row">
                            <div id="logo" class="span<?php echo $this->params->get('logo_size'); ?>">
                                <?php if($logo_type): ?>
                                <a href="<?php echo $this->baseurl; ?>">
                                    <img src="<?php echo $logo_img;?>" alt="<?php echo $sitename; ?>" />
                                </a>
                                <?php else: ?>
                                <div class="logo">
                                    <a href="<?php echo $this->baseurl ?>"><?php echo $logo_txt; ?></a>
                                    <span class="slogan">
                                        <?php echo $slogan_txt; ?>
                                    </span>
                                </div>
                                <?php endif; ?>
                            </div>
 
                            <?php if ($this->countModules('as-position-1')): ?>
                                <jdoc:include type="modules" name="as-position-1" style="themeHtml5" />
                            <?php endif; ?>
                        </div>
                    </div>
                </div>
 
                <?php if ($this->countModules('as-position-5')): ?>
                <div id="slider-row">
                        <div class="container">
                        <div class="row">
                            <jdoc:include type="modules" name="as-position-5" style="themeHtml5" />
                        </div>
                    </div>
                </div>
                <?php endif; ?>
            </div>
        </div>
 
        <?php if ($this->countModules('as-position-6')): ?>
0
23 / 18 / 6
Регистрация: 25.07.2014
Сообщений: 494
10.12.2020, 14:58 8
А так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
 
require __DIR__ . '/fonts.php';
$bg_color                   = '#' . $params->get('bg_color');
$gradient_topcolor          = $params->get('gradient_topcolor');
$gradient_btmcolor          = $params->get('gradient_btmcolor');
$font_family                = $params->get('font_family');
$google_font                = array('fontlink'=>false, 'fontfamily'=>false);
$google_font                = googleFontChooser($font_family);
$font_family                = $google_font['fontfamily'];
 
$document = JFactory::getDocument();
$style_as_menu = '
<style>
#as-menu,
#as-menu ul.as-menu ul
{
    background-color: '.$bg_color.';
    border-radius: '.$border_radius .'px;
 
    <?php  if($gradient_topcolor && $gradient_btmcolor): ?>
    background-image: -moz-linear-gradient(top, #'.$gradient_topcolor . ', #' . $gradient_btmcolor.');
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#'.$gradient_topcolor.'), to(#'. $gradient_btmcolor.'));
    background-image: -webkit-linear-gradient(top, #'.$gradient_topcolor . ', #' . $gradient_btmcolor .');
    background-image: -o-linear-gradient(top, #'.$gradient_topcolor . ', #' . $gradient_btmcolor .');
    background-image: linear-gradient(to bottom, #'.$gradient_topcolor . ', #' . $gradient_btmcolor.');
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff 
    " '.$gradient_topcolor', endColorstr="#ff" '.$gradient_btmcolor .', GradientType=0);
    <?php endif; ?>
}
</style> ';
$document->addStyleDeclaration($style_as_menu);
?>
0
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 125
10.12.2020, 15:13  [ТС] 9
Все ровно тоже самое. Я уже понять не могу откуда вызов идет. Если перемещай куда угодно. Вызываетсявсегда в одном месте.
Кэш джумлы чистил, броузер тоже после каждого изменения
0
23 / 18 / 6
Регистрация: 25.07.2014
Сообщений: 494
11.12.2020, 08:42 10
Попробуйте так подключить
PHP
1
include JPATH_BASE .DS. 'templates' .DS. 'имя_шаблона' .DS. 'styles.php';
0
70 / 64 / 22
Регистрация: 13.02.2013
Сообщений: 417
Записей в блоге: 1
21.12.2020, 14:39 11
yyyuuu, за 6 лет проблема так и не решилась? Есть плагин для этих целей - JL css manipulate. Не надо это ручками делать. Только если Вы вручную title и мета-теги выводите в head. А если нет, то у Вас правильно всё равно не получится. Так же учтите, что некоторые шаблоны идут в комплекте со своим фреймворком, который тоже может переносить скрипты в низ сайта, например Astroid.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2020, 14:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Скрипты вставляемые в body переносятся в head
Здравствуйте. Joomla 2.5 не дает вставить скрипты в body и переносит их в head. Второй день...

Никак не могу создать HTML страницу с HEAD и BODY
Никак не могу создать создать HTML страницу с HEAD и BODY :wall:.Прмогите пожалуйста):yes:

Содержимое head падает в body, смена кодировки не помогает
Ребят,я знаю,что тема уже обсуждалась,но тут мне не помогает всё,что было,во всех фалйах кодировка...

Может ли внутри тегов <html>, <head>, <body> содержатся доп. информация?
Как в &lt;img src=1.bmp&gt;

Почему представления в MVC без тегов head, body, и т.п? Их нужно прописывать в ручную?
Почему представления в MVC без тегов head, body, и т.п? Их нужно прописывать в ручную?

Head не могу присвоить стиль
Приветствую дорогие друзья, возникла проблема. А именно не могу присвоить нужный стиль классу head....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.