Перейти к содержанию
Psylogika

Добавление классов на русском языке через код

Рекомендуемые сообщения

Всем привет!!!

Проблема такая необходимо, каждой странице сделать уникальный бэкграунд!

На английском языке название категории как класс добавляется к body, а вот на русском не проходит кодировка и класс не добавляется.

Подскажите пожалуйста, как это можно обойти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!!!

Проблема такая необходимо, каждой странице сделать уникальный бэкграунд!

На английском языке название категории как класс добавляется к body, а вот на русском не проходит кодировка и класс не добавляется.

Подскажите пожалуйста, как это можно обойти?

 

Ни фига себе, Вы закреативили...

 

Используйте в качестве класса не имя категории а ее id. Тогда не будет привязки к языку.

 

А задумка интересная  ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вот он почему-то название страницы на русском языке не переводит в класс.
Интересно это же по идее можно обойти, но как?
 
<file name="catalog/view/theme/*/template/common/header.tpl">
<operation error="abort" info="Add Column to Search">
<search position="replace"><![CDATA[<body]]></search>
                        <add><![CDATA[<body<?php 
                                          if(isset($this->request->get['route'])){
                            $class = explode('/',$this->request->get['route']);
$id = $class[1];
$class = implode(' ',array_splice($class,1));
                            
                                                if(isset($this->request->get['information_id'])){
                                                    $this->load->model('catalog/information');
                                                    $information_id = '_'.$this->request->get['information_id'];
                                                    $class .= str_replace('/','-',$information_id);
                                                }else if(isset($this->request->get['product_id'])){
                                                    $product_id = '_'.$this->request->get['product_id'];
                                                    $class .= ' '.str_replace('/','-',$id.$product_id);
                                                }
                                                else{
                                                    $class .= ' '.str_replace('/','-',$this->request->get['route']);
                                                }
                    if(isset($this->request->get['path'])){
$this->load->model('catalog/category');
$cats   = explode('_',$this->request->get['path']);
$cats = !is_array($cats)? array($cats) : $cats;
foreach($cats as $cat){
$model = $this->model_catalog_category->getCategory($cat);
                                                                $class .= ' '.str_replace(' ','-',preg_replace('/[^a-z0-9\s]/','',strtolower($model['name'])));
}
}
}else{
$class = 'home common-home';
$id = 'home';
}
                                        echo ' id="'.$id.'" class="'.$class.'" ';
                                
?>]]></add>
</operation>
</file>
</modification>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот он почему-то название страницы на русском языке не переводит в класс.

 

и не переведет потому что в имени класса могут использоваться только цифры, некоторые спец. символы и буквы ЛАТИНСКОГО алфавита. Использование русских букв в именах классов недопустимо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и не переведет потому что в имени класса могут использоваться только цифры, некоторые спец. символы и буквы ЛАТИНСКОГО алфавита. Использование русских букв в именах классов недопустимо!

Да это понятно.

Нужно условие, чтобы он переводил название русского языка, в латиницу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да это понятно.

Нужно условие, чтобы он переводил название русского языка, в латиницу?

 

У каждой категории есть системный идентификатор - грубо говоря порядковый номер. Вы можете соорудить конструкцию для названия класса наприме style = "background + category_id". Или если хотите заняться творческим индусским креативом подключить метод транслитерации. И получить транслитированное название класса...

 

Вот например что то вроде этого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У каждой категории есть системный идентификатор - грубо говоря порядковый номер. Вы можете соорудить конструкцию для названия класса наприме style = "background + category_id". Или если хотите заняться творческим индусским креативом подключить метод транслитерации. И получить транслитированное название класса...

 

Вот например что то вроде этого.

Не могу соорудить конструкцию, но надо... 

Я не волшебник, я тока учусь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.