Форум русской поддержки Joomla!® CMS
10.12.2016, 07:08:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Шрифт в фреймворке Helix3

 (Прочитано 483 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2289



« : 10.01.2016, 03:31:22 »

Была тема уже почти прошлогодняя, а тут как раз столкнулся с этим фреймворком, правда третьей версии, и как раз проблема с русскими шрифтами. Решил поднять вопрос, авось кому пригодиться...

Суть в следующем: в панели управления шаблона есть настройки шрифта, но только два поля, в одно пишем название шрифта, например Lato:300, во второе селекторы, например h1,h2,h3,h4,h5,h6. Я, естественно, хочу кириллический шрифт, но попытки написать в этом поле название шрифта, содержащего кириллицу, эффекта не дали. Например, я хочу задать для тега H1 шрифт Comfortaa. Если я просто запишу его в поля, то в итоге этим шрифтом будет написан только американский текст. Попытка вставить в это поле что то типа Comfortaa&subset=latin,cyrillic приводит к ошибке в коде.

Полез в кишки фреймворка. По адресу plugins\system\helix\core в файле helix.php нашел такую конструкцию:
Код
public static function GoogleFont($name, $field) {
 
           $name = str_replace(' ', '+', $name );
 
           $font_name = explode(':', $name);
           if( is_array($font_name) ) $font_name = str_replace('+', ' ', $font_name[0] );
           else $font_name = str_replace('+', ' ', $name );
 
           self::getInstance()->document->addStyleSheet("//fonts.googleapis.com/css?family=" . $name);
           $styleDeclaration = "$field{font-family:'" . $font_name . "';}";
           self::getInstance()->document->addStyleDeclaration($styleDeclaration);
       }

Это то что же получается, товарищи? Код изначально заточен исключительно под латиницу? Ведь если нет subset=cyrillic, то по умолчанию subset=latin?

Правим до первого обновления:
Код
self::getInstance()->document->addStyleSheet("//fonts.googleapis.com/css?family=" . $name . "&subset=latin,cyrillic");
И любуемся родным кириллическим шрифтом!
« Последнее редактирование: 10.01.2016, 03:45:13 от SeBun » Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #1 : 10.01.2016, 10:50:06 »

а ещё можно фонтамесоне+гугл врезать ссылкой для автообновы, и будут и иконки и шрифт от Google.
только Сергей, а обнова не потрёт плагин?может уже навсяк и переопределение стоит "нарисовать"?
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2289



« Ответ #2 : 10.01.2016, 14:27:42 »

только Сергей, а обнова не потрёт плагин?может уже навсяк и переопределение стоит "нарисовать"?
Я ж и указал, что до первой обновы, потом так же зайти и сделать необходимые правки всего одной строчки, и ты снова в шоколаде. Благо сам Helix3 (плагин) не так часто обновляется.
Записан
deminevgen
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 117



« Ответ #3 : 10.01.2016, 23:42:56 »

Я ж и указал, что до первой обновы, потом так же зайти и сделать необходимые правки всего одной строчки, и ты снова в шоколаде. Благо сам Helix3 (плагин) не так часто обновляется.
А речь идёт о каком helix? просто у меня в 3 только такие строки в этом файле:
Показать текстовый блок
Показать текстовый блок

И если у меня так то нужно сделать так?
Код:
$doc->addStylesheet('//fonts.googleapis.com/css?family=' . $output . "&subset=latin,cyrillic");

зы
Код:
<?php
/**
 * @package   Helix3 Framework
 * @author    JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2015 JoomShaper
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
 */
« Последнее редактирование: 10.01.2016, 23:47:01 от deminevgen » Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #4 : 10.01.2016, 23:57:09 »

ну страницу ищет : //fonts.googleapis.com/css?family=и т.д.
тут вам надо подключить их и забыть про это
подключается 2 минуты
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2289



« Ответ #5 : 11.01.2016, 21:02:57 »

А речь идёт о каком helix? просто у меня в 3...
Я приводил пример с версией 2.2, которая на данный момент является последней. Тот код, что Вы показали, практически идентичен тому, который показал я. Меняйте ту самую строчку и смотрите исходный код, что бы выводило без ошибок.
Записан
Yana
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Женский
Сообщений: 69


Пенсионерка русской поддержки Joomla


« Ответ #6 : 27.03.2016, 14:15:25 »

У меня фреймворк EF4. Там прямо в настройках через админку можно прописать путь к шрифту.
Меняю
Код:
//fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic,900,900italic
на
Код:
//fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic,900,900italic&subset=latin,cyrillic
Результата ноль!
Есть еще идеи, куда можно копнуть?
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #7 : 27.03.2016, 14:54:28 »

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

в индекс PHP шаблона или в исполняемый ваш файл при загрузке.
на сайте гарантируют автообновление.

Там иконки и шрифты.
///
Если не понравятся или свои нужны, скачайте файл, измените под себя и добавьте нужое в ваш стиль.
« Последнее редактирование: 27.03.2016, 14:58:01 от vipiusss » Записан
Yana
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Женский
Сообщений: 69


Пенсионерка русской поддержки Joomla


« Ответ #8 : 27.03.2016, 15:19:46 »

Не спасло
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #9 : 27.03.2016, 15:23:28 »

Не спасло
если у вас шаблон на lessax и перезаписываемый, то конечно не поможет: все ваши нововведения затираются.
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2289



« Ответ #10 : 28.03.2016, 12:53:14 »

Результата ноль!
Есть еще идеи, куда можно копнуть?
Правильно, результата и не будет, так как вы некорректно заполнили поля. Здесь официальная документация. Там даже обведено, где указывать название шрифта. А для того, что бы добавить возможность работы с кириллическими шрифтами, вам нужно добиться, что бы в исходном коде было правильное подключение шрифта, путь должен быть таким, каким его выдает Google. Для этого нужно искать кусок кода во фреймворке, ответственный за формирование этого пути, и править его.
Записан
Yana
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Женский
Сообщений: 69


Пенсионерка русской поддержки Joomla


« Ответ #11 : 28.03.2016, 16:04:27 »

Там даже обведено, где указывать название шрифта.
Спасибо, что потратили время на поиск документации! В шаблоне изначально заданы параметры, поля заполнены разработчиком, а не мной. См. пункт 2. Google webfont. Я только сделала попытку по вашему совету добавить туда хвостик с подключением кириллицы, но не сработало.

Судя по результату, вы правы, и все-таки придется снова ковыряться в коде (уже делала попытки). Я надеялась отделаться настройками Azn
Записан
devastator1979
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #12 : 12.11.2016, 00:00:10 »

Была такаяже проблема, ни какие пляски с бубунами не подходили Internet Explorer ни в какую не хотел отображать кирилицу. Сегодня в конце концов сел и разобрался.
В фале helix3.php который лежит по адресу plugins/system/helix3/core/
Есть такая строчка в блоке подключения шрифтов  $doc->addStylesheet( '//fonts.googleapis.com/css?family=' . $output );
в нее нужно добавить . $name . "&subset=latin,cyrillic" и соответственно она примет вид
$doc->addStylesheet( '//fonts.googleapis.com/css?family=' . $output . $name . "&subset=latin,cyrillic");

Ps. У меня установлен Helix3 с шаблоном shaper-startup-biz - Default.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet