Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Как правильно вставить код в header


Recommended Posts

Нужно сделать так чтоб css стили загружались только на 1-2 стр

пробовал разместить вот такой код

 

Цитата

<script>
if (window.location.pathname == '/ru/keytering'){ document.write('<style> тут стили  </style> ')};
</script>

но он не работает 

 

в качестве теста пробовал разместить

Цитата

</script>
<script>document.write("test")
</script>
 

но на стр тоже не выводиться test

 

подскажите как правильно разместить код

Спасибо

Link to comment
Share on other sites


17.07.2022 в 08:12, bzserg сказал:

подскажите как правильно разместить код

 

Нанимаете специалиста и он вам правильно размещает.

Link to comment
Share on other sites

из контроллера, в зависимости от страницы, кидаете флаг в шаблон

в шаблоне, в зависимости от флага, выводите или нет нужное

Link to comment
Share on other sites

Вот есть у меня функция, о которой даже не все профи знают

document.addEventListener('DOMContentLoaded', function(){
$title = $('title').context;
$('#target').val($title.title);
$('#url').val($title.URL);
});

Ее можно втавить даже в тело, это аналогично document.write.

Ну а дальше подкорректируешь выполнение своего кода. У меня идет присвоение вывода, но ты можешь присвоить в переменную, которую потом обыграть в соем коде.

Шо не ясно?

  • +1 1
Link to comment
Share on other sites

17.07.2022 в 10:30, fanatic сказал:

из контроллера, в зависимости от страницы, кидаете флаг в шаблон

Я предложил свой вариант ниже. Ну если человек не силен, то лазить в контроллере не суждено. На уровне скрипта, та хоть в футере, эта задача решается легко.

Link to comment
Share on other sites

17.07.2022 в 11:15, esculapra сказал:

Вот есть у меня функция, о которой даже не все профи знают

document.addEventListener('DOMContentLoaded', function(){
$title = $('title').context;
$('#target').val($title.title);
$('#url').val($title.URL);
});

Ее можно втавить даже в тело, это аналогично document.write.

Ну а дальше подкорректируешь выполнение своего кода. У меня идет присвоение вывода, но ты можешь присвоить в переменную, которую потом обыграть в соем коде.

Шо не ясно?

Гугл ругается на document.write

https://web.dev/no-document-write/

 

Но все правильно пишут, это делается в контроллере

Если product_id или category_id или information_id такой то, то this->document->addCss или как там называется или сами напишите методу и добавляете css файл

 

P.S. Я кстати такую приблуду юзаю уже несколько лет для всплывающей рекламы на одном большом сайте

 

<script>
document.addEventListener("DOMContentLoaded", function(event){
  var advoverlaybox = document.getElementById('adv-overlay-box');
    window.parent.document.body.appendChild(advoverlaybox);    
		document.body.removeChild(advoverlaybox);
  });
</script>
<div id="adv-overlay-box" style="background:rgba(0,0,0,0.65);position:fixed;z-index:5000!important;top:0;left:0;right:0;bottom:0;display:flex;justify-content: center;align-items: center;">
  <div id="adv-overlay-container" style="max-width:95%;display:block;text-decoration:none;position:relative;">
//placement for third-party tag
    
//end placement
<button style="position:absolute;top:10px;right:25px;z-index:100;border:none;background:black;color:white;font-size:20px;margin:0;padding:0 0 3px 0;border-radius:50%;width:25px;height:25px;cursor:pointer" onclick="event.preventDefault();document.getElementById('adv-overlay-box').remove();">x</button>
<img src="%%VIEW_URL_UNESC%%" alt="" width="1" height="1"/>
  </div>
</div>

 

Edited by niger
Link to comment
Share on other sites


17.07.2022 в 11:19, esculapra сказал:

Я предложил свой вариант ниже. Ну если человек не силен, то лазить в контроллере не суждено. На уровне скрипта, та хоть в футере, эта задача решается легко.

Если человек не силен добавить, лучше не добавлять. Так как даже ваш простой вариант может вставить не туда, так как человек не силен в том, как добавить. 

  • +1 1
Link to comment
Share on other sites


Сделал так

 

if (window.location.pathname == '/ru/keytering'){ document.write('<link href="catalog/view/theme/unishop2/stylesheet/catering.css" rel="stylesheet" media="screen" />)};

стилей много о они используются только на информационных страницах в статьях.

если гугл ругаеться на document.write как можно сделать по другому.

Этот код добавил в настройки темы, так как напрямую в файл если добавлять не работает

Link to comment
Share on other sites


17.07.2022 в 15:10, bzserg сказал:

они используются только на информационных страницах в статьях.

в контроллере header.php

if (isset($this->request->get['information_id'])) {
     $this->document->addStyle('view/stylesheet/main.css');
}

 

  • +1 1
Link to comment
Share on other sites

17.07.2022 в 15:50, fanatic сказал:
if (isset($this->request->get['information_id'])) {
     $this->document->addStyle('view/stylesheet/main.css');
}

добавил в \www\catalog\controller\common\header.php

и получил вот такую ошибку 

 


storage/modification/catalog/controller/common/header.php on line 233

 

image.thumb.png.6cd5ea6c4982e2e553589eed45458aa0.png

Link to comment
Share on other sites


17.07.2022 в 16:12, fanatic сказал:

перенесите под

public function index() {

 

Добавил ошибки нет но и стили не загружаться на страницу

 

добавил  в конце функции

сразу после 

return $this->load->view('common/header', $data);

 

Link to comment
Share on other sites


вот так 

class ControllerCommonHeader extends Controller {

    public function index() {
        if (isset($this->request->get['information_id'])) {
            $this->document->addStyle('view/stylesheet/main.css');
        }
        // Analytics
        $this->load->model('setting/extension');

        $data['analytics'] = array();

        $analytics = $this->model_setting_extension->getExtensions('analytics');

 

Link to comment
Share on other sites

17.07.2022 в 16:20, bzserg сказал:

добавил  в конце функции

сразу после 

return $this->load->view('common/header', $data);

вы читаете что пишут?

17.07.2022 в 16:12, fanatic сказал:

перенесите под

public function index() {

 

Link to comment
Share on other sites

class ControllerCommonHeader extends Controller {
	public function index() {
		
	if (isset($this->request->get['information_id'])) {
     $this->document->addStyle('view/theme/unishop2/stylesheet/catering.css');
}	
		// Analytics
		$this->load->model('setting/extension');

Прописал но всё равно не работает ((

Link to comment
Share on other sites


17.07.2022 в 16:43, fanatic сказал:

обновить модификаторы, почистить кеш

Чистил и обновлял и не помогло

Link to comment
Share on other sites


17.07.2022 в 16:52, fanatic сказал:

дайте ссылку на сайт

Скинул в лс

Link to comment
Share on other sites


17.07.2022 в 15:50, fanatic сказал:

в контроллере header.php

Друже Рос-корабель пішов.... Не я спілкуюся з адекватими росіянами - в них теж сердце болить, але ж вони не ввзмозі вирішить без допомоги.

Link to comment
Share on other sites

17.07.2022 в 19:42, bzserg сказал:

Скинул в лс

Есть предложение - В допис добавить "Доброго вечора, Ми з України"

Link to comment
Share on other sites

17.07.2022 в 15:50, fanatic сказал:
if (isset($this->request->get['information_id'])) {
     $this->document->addStyle('view/stylesheet/main.css');
}

Спасибо, работает. Не знаю почему раньше не работало, чистил кеш как в браузере так и в админке и обновлял модификатор.

 

Link to comment
Share on other sites


17.07.2022 в 22:52, bzserg сказал:

Спасибо, работает

Доброго вечора - ми з України!

  • +1 1
Link to comment
Share on other sites

 

 

17.07.2022 в 23:04, esculapra сказал:

Доброго вечора - ми з України!

Доброго вечора

 

17.07.2022 в 22:40, esculapra сказал:

В допис добавить

не добавить а додати

 

всїм дякую за допомогу.

 

 

Link to comment
Share on other sites


18.07.2022 в 00:01, bzserg сказал:

не добавить а додати

вибачюсь. наразі нема спілкування. Я и литовишка супранте - я там служил

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.