Публикации

Форумы

Версия сайта для слабовидящих
 

Версия сайта для слабовидящих

Модераторы: Патрик, net1313, Predator, Perfecthus, Kapman
Автор Добавил
Offline soldier
10.11.15 - 12:23
Сообщений: 189
завел я плагин. сначала удалил установленный textsizer, потом заменил class2.php в движке таким же из папки с плагином и все заработало, теперь попробую поработать со стилями в темах

Нашел новый косяк. После замены class2.php слетел язык во вкладке создания собственных меню/страницы. Попутно выявил проблему, которая раньше не замечалась, не работает меню смены языка сайта. То есть после первоначальной настройки снова зайти в меню "Язык" не получается скрипт language.php открывает пустую страницу.
Вернуться наверх
Популярность сообщения: 0
 
Рекламный блок
VPS
Наверх

Offline Real
10.11.15 - 14:23
Real

Сообщений: 1236
soldier: да, простые решения - это слишком скучно.
То-ли дело у тебя, уже детектив получается.
Держи нас в курсе, как продвигается расследование


Всё, что существует на свете, когда-то было мечтой.
Вернуться наверх
Популярность сообщения: 0
 
Offline soldier
10.11.15 - 15:26
Сообщений: 189
кодеру может и проще, а я не кодер, вот в чем дело. Кое-что поправить по мелочи могу, а кодить... Если ты мне по полочкам разложишь что куда, то собрать воедино и обкатать я смогу. А ссылки типа это берем отсюда, а это оттуда.... для меня тот же китайский. У нас бытует народное заблуждение, что сисадмин и программист одно и тоже, а это, как в Одессе две большие разницы.
Вернуться наверх
Популярность сообщения: 0
 
Offline Real
10.11.15 - 16:42
Real

Сообщений: 1236
– Цитата: 
Если ты мне по полочкам разложишь что куда, то собрать воедино и обкатать я смогу.

Я именно так я и расписал тут:
Всего 5 пунктов.
В каждом чётко укзаны имя файла и что с ним делать, в т.ч. я дал готовый код и даже есть указание на номер строки для замены.
Подробнее, врядли возможно.


Всё, что существует на свете, когда-то было мечтой.
Вернуться наверх
Популярность сообщения: 0
 
Offline soldier
10.11.15 - 17:41
Сообщений: 189
По пунктам что я не понял:

  1. echo "<link rel='stylesheet' href='".THEME_ABS
  2.  
  3.                 .(intval(varset($_COOKIE['style'],1))===2 ? "alter.css" : "style.css")
  4.  
  5.                         ."' type='text/css' media='{$css_default}' />\n";


это код для подключения альтернативного css. но это для одного файла, а надо альтернативных минимум два. Как их подключить?
И манипуляции с theme.php не совсем понятны, а кроме того, как вместо кнопок для переключения стилей установить иконки?
Вернуться наверх
Популярность сообщения: 0
 
Offline Real
10.11.15 - 20:44
Real

Сообщений: 1236
– Цитата: 
а надо альтернативных минимум два. Как их подключить?
а тебе не просто медку, а еще-бы и ложкой, ладно - держи
  1. <?php
  2.  
  3. // 0 - новая кука будет называться 'style'
  4. // значения:
  5. // 0 = style.css - обычная версия сайта
  6. // 1 = alt_1.css - версия для слабовидящих #1
  7. // 2 = alt_2.css - версия для слабовидящих #2
  8. // ...
  9. // 8 = alt_8.css - версия для слабовидящих #8
  10. // или измените название и значения куки на свои
  11.  
  12.  
  13. // 1 - Сделать новыЕ файлЫ стилей: site.tld/theme/MY_THEME/ alt_XX.css
  14.  
  15.  
  16. // 2 - Файл: site.tld/theme/templates/ header_default.php
  17. // изменить код ренедра ссылки на дефолтный файл стилей style.css
  18. // искомый код (строка ~205):
  19. echo "<link rel='stylesheet' href='".THEME_ABS."style.css' type='text/css' media='{$css_default}' />\n";
  20. // новый код
  21. $alt_css_list = array(
  22.         0 => 'style.css',
  23.         1 => 'alt_1.css',
  24.         2 => 'alt_2.css',
  25. //      ...
  26.         8 => 'alt_8.css',
  27. );
  28. $alt_css_val = intval(varset($_COOKIE['style'],0));
  29. $alt_css_file = is_readable(THEME.$alt_css_list[$alt_css_val])
  30.         ? THEME_ABS.$alt_css_list[$alt_css_val]
  31.         : THEME_ABS.'style.css';
  32. echo "<link rel='stylesheet' href='".$alt_css_file."' type='text/css' media='{$css_default}' />\n";
  33.  
  34.  
  35. // 3 - Файл: site.tld/theme/MY_THEME/ theme.php
  36. // добавить HTML код кнопки переключения стилей (css-файлов)
  37. // в любое подходящее место страницы (HTML-кода)
  38. $alt_css_hl  = ' highlight'; // это css класс для подсветки ссылки с текущим значением
  39. $alt_css_val = intval(varset($_COOKIE['style'],0));
  40. $HEADER = "<!-- Тут HTML код страницы -->";
  41. $HEADER .= '<a class="button'.($alt_css_val==0 ? $alt_css_hl : '').'" onclick="setCookie(\'style\', 0);">Обычная версия</a>'
  42.                 .'<a class="button'.($alt_css_val==1 ? $alt_css_hl : '').'" onclick="setCookie(\'style\', 1);">Alt-1</a>'
  43.                 .'<a class="button'.($alt_css_val==2 ? $alt_css_hl : '').'" onclick="setCookie(\'style\', 2);">Alt-2</a>'
  44.         //      ...
  45.                 .'<a class="button'.($alt_css_val==8 ? $alt_css_hl : '').'" onclick="setCookie(\'style\', 8);">Alt-8</a>';
  46. $HEADER .= "<!-- Продолжение HTML кода страницы -->";
  47.  
  48.  
  49. // 4 - Файл:  site.tld/files/ e107.js
  50. // добавить код функции (в начало или конец файла)
  51. function setCookie(name,value){
  52.         document.cookie = name + "=" + value + "; path=/; expires=Mon, 01-Jan-2050 00:00:00 GMT";
  53.         document.location.reload();
  54. }
  55.  
  56. ?>

– Цитата: 
а кроме того, как вместо кнопок для переключения стилей установить иконки?
ну а тут вообще много вариантов
  1. <a class="button" onclick="setCookie(\'style\', 1);"><img src="image.png" alt="тынц"/></a>
  2. // вместо текста в ссылке прописать картинку

  1. <img src="image.png" alt="тынц" onclick="setCookie(\'style\', 2);" style="cursor:pointer;" />
  2. // или сразу использовать картинку, но:
  3. // 1 - придумать как подсвечивать текущее значение
  4. // 2 - надо принудительно менять курсор чтобы посетители догадались что оно кликабельно

  1. <input type="image" src="imag.png" onclick="setCookie(\'style\', 8);" />
  2. // как вариант вполне сгодится, и курсор правильный будет

  1. <select onchange="setCookie(\'style\', $(this).val());">
  2.  <option value="0"'.($alt_css_val==0 ? ' selected' : '').'>Стандарт</option>
  3.  <option value="1"'.($alt_css_val==1 ? ' selected' : '').'>Раз</option>
  4.  <option value="2"'.($alt_css_val==2 ? ' selected' : '').'>Два</option>
  5.  <option value="8"'.($alt_css_val==8 ? ' selected' : '').'>Восемь</option>
  6. </select>
  7. // и иногда использовать селектор удобнее
И для каждого варианта с картнкой надо придумать и адаптировать подсветку текущего значения



Всё, что существует на свете, когда-то было мечтой.
Вернуться наверх
Популярность сообщения: 1
 
Offline soldier
11.11.15 - 09:34
Сообщений: 189
Спасибо! Буду пробовать. На самом деле это скоро будет актуально для всех, кто использует е107 в образовательных и муниципальных учреждениях, поскольку это есть порождение прокурорских притязаний. Которые в свою очередь ссылаются на судебную практику. То есть это не мои фантазии, а объективная реальность.
По поводу вызова иконок переключения стилей, возможно ссылка на изображение должна выглядеть примерно так
  1. <img src="'.THEME_ABS.'images/ arrow.png">

Если иконки лежат внутри папки темы сайта.

Попробовал, вывел иконки. После нажатия страница перегружается, но стиль не меняется.

вот эту строку кода
  1. echo "<link rel='stylesheet' href='".THEME_ABS."style.css' type='text/css' media='{$css_default}' />\n";
  2.  

надо было этой заменить
  1. echo "<link rel='stylesheet' href='".$alt_css_file."' type='text/css' media='{$css_default}' />\n";

или просто дописать, а существующую оставить без изменения?
Вернуться наверх
Популярность сообщения: 0
 
Offline Real
11.11.15 - 15:09
Real

Сообщений: 1236
– Цитата: 
вот эту строку кода
...
надо было этой заменить
...
или просто дописать, а существующую оставить без изменения?
Заменить! Оригинальную можно просто закомментировать (добавить // или # в начало строки)


Всё, что существует на свете, когда-то было мечтой.
Вернуться наверх
Популярность сообщения: 0
 
Offline soldier
11.11.15 - 15:55
Сообщений: 189
так и сделал. а здесь:
  1. <a class="button'.($alt_css_value==1 ? $alt_css_hl : '').'" onclick="setCookie(\'style\', 1);">Alt-1</a>


после
  1.  $alt_css_hl :


в кавычках явным образом путь к файлу css указывать не надо?

Просто остальное сделано один в один.
Вернуться наверх
Популярность сообщения: 0
 
Offline Real
11.11.15 - 16:13
Real

Сообщений: 1236
– Цитата: 
в кавычках явным образом путь к файлу css указывать не надо?
Это не файл, это CSS класс для подсветки текущего значения.
Пусто - когда НЕ надо подсвечивать.
Я в коде сделал пояснение - читай внимательнее
  1. $alt_css_hl  = ' highlight'; // это css класс для подсветки ссылки с текущим значением


– Цитата: 
Просто остальное сделано один в один.
И какой результат?


Всё, что существует на свете, когда-то было мечтой.
Вернуться наверх
Популярность сообщения: 0
 
Версия сайта для слабовидящих

Перейти:  Вернуться наверх