М

Марат

+1410
Репутация
13097
Рейтинг
#1 Отметка checkbox'a через href 16 октября 2014 в 08:47
Можно примерно так. Быстренько на коленках.
  1.  
  2. <p><input type="checkbox" id="ck1" value="">
  3. <a href="#" onClick="check('ck1'); return false;">forum</a>
  4. <p><input type="checkbox" id="ck2" value="">
  5. <a href="#" onClick="check('ck2'); return false;">site</a>
  6. <p><input type="checkbox" id="ck3" value="">
  7. <a href="#" onClick="check('ck3'); return false;">game</a>
  8. <script>
  9. function check(aid){
  10. var i = document.getElementById(aid).checked;
  11. if(i == true) {
  12. document.getElementById(aid).checked = false;
  13. }else{
  14. document.getElementById(aid).checked = true;
  15. }
  16. }
  17. </script>
  18.  
#2 Редирект с http на https 14 октября 2014 в 09:55

По дефолту все строки на месте. Добавляю

BS
В какое место добавляете? В конец? Попробуйте сразу после строк:
RewriteEngine On
RewriteBase /
RewriteRule ^.htaccess$ — [F]

добавить.
#3 Редирект с http на https 14 октября 2014 в 09:26
RewriteCond %{HTTPS} off
RewriteRule ^.*$ %{SERVER_NAME}%{REQUEST_URI} [L,R]

или

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ %{SERVER_NAME}%{REQUEST_URI} [L,R]

но надо вставить до блока:
RewriteCond %{REQUEST_URI} !\.(ico|css|js|txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !^/admin
RewriteCond %{REQUEST_FILENAME} !^/migrate
RewriteCond %{REQUEST_FILENAME} !^/install
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php [L]

дефолтного чтассесс
#4 [ЗАКРЫТО] Все про шаблоны icms 2.1 14 октября 2014 в 08:46

Чуть более сложная запись с $item[$field['name']] внутри цикла перебора всех полей

Val
Я это и имел в виду, что эта чуть более сложная запись с $item[$field['name']] внутри цикла перебора всех полей будет сложновата для рядового верстальщика. Думаю, об этом же говорит и maxisoft. С другой же стороны, один раз разжевать, объяснить…
#5 [ЗАКРЫТО] Все про шаблоны icms 2.1 14 октября 2014 в 00:04
Долго не мог понять Макса, про что он говорит, пока не посмотрел на сам шаблон списка.
Да, интересненько получается. Рядовой верстальщик с задачей скорее всего не справится. Как бы, расплата за универсальность.
Выхода вижу два:
1. Сами типы контента имеют несколько общих(системных полей) и они доступны в шаблоне, допустим как $item['название_поля']. Кстати и пользовательские поля тоже можно так выводить. А это означает, что шаблон строго привязан к проекту(тип контента, таблица в бд...) и работает один верстальщик с базовыми знаниями пхп. Элементарные циклы и условия придется изучать в любом шаблонизаторе и пхп в этом плане не сложнее Смарти.
2. Верстальщик работает только над html шаблоном. Адаптирует в систему штатный программист(или же отдельный человек чисто под эту задачу). Что обычно и делается, допустим, при работе с Битрикс. Сам процесс будет более затяжной. Несколько переходов от верстальщика к прогеру и наоборот. Навряд ли с первого раза получится как надо. Но будет какая то универсальность.
Иначе, думаю, никак smile
#6 [ЕСТЬ РЕШЕНИЕ] Миграция, не получилось 11 октября 2014 в 20:33
Как там в песне поется? Папа может? Лучше так "Яндекс может!!!".
Упс...
#7 Изменить URL в iCMS 2 11 октября 2014 в 20:29
мнение не экспертное, с системой пока мало знаком )
#8 Изменить URL в iCMS 2 11 октября 2014 в 20:28

Избавиться от "pages" в url чтоб было: сайт.ру/страница.html или сайт.ру/страница

kreator
Так полагаю, полностью избавиться не получится. Но на всякий случай, посмотрите как можно изменить урл компонентов. То есть /pages/ можно заменить на /то_что_нужно/. Работает, потестировал, но доступны оба варианта, что не есть хорошо. То есть по двум разным урл доступна одна и та же страница.
Возможно, если покопаться, можно исправить ситуацию, но нужно копаться в коде и не уверен, что получится без кровопролития hoho

Как сделать так, чтобы можно было задавать весь "хвост" вместе с .html (или без него)

kreator
То же самое. Статические страницы, под системным именем pages — это предустановленные и неудаляемый тип контента. Та часть ури, что в вашем примере вы назвали страница хранится в БД в таблице cms_con_pages в поле по имени slug. А теперь задайте в поиске по папкам cms это имя slug. Это, чтобы понять в скольких местах придется править. Правда результаты поиска будут для всех типов контента, но всё же… Сразу потеряется желание что-то править smile
#9 [ЕСТЬ РЕШЕНИЕ] Как обрезать заголовок? 11 октября 2014 в 17:11

Теперь осталось выяснить какой файл отвечает за вывод контента списком

Alexprofi
Скорее всего это файл /templates/default/content/default_list.tpl.php. Строка 66:
  1. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php echo htmlspecialchars($item[$field['name']]); ?></a>
заменить на:
  1. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php
  2. $title = htmlspecialchars($item[$field['name']]);
  3. $title = mb_substr($title, 0, 100);
  4. $position = mb_strrpos($title, ' ');
  5. $position = ( $position ? $position : mb_strlen($title));
  6. echo mb_substr($title, 0, $position);
  7. ?></a>
Если я вас правильно понял. Будет обрезать по словам. Немного подправил код, так будет правильнее.
#10 [ЕСТЬ РЕШЕНИЕ] Как обрезать заголовок? 11 октября 2014 в 16:11
Поскольку в двойке используются php шаблон, то и обрезать придется средствами пхп в файлах шаблона. Например, пусть заголовок хранится в переменной $title, тогда где то в шаблоне должен быть вывод. Как то так:
  1. <?php echo $title;?>
заменяем на:
  1. <?php echo mb_substr($title, 0, 100);?>
где, второй параметр(0) обозначает начальную позицию, ноль — с начала строки — наверно, лучше не трогать.
третий параметр(100) — какую длину оставить, 100 символов — тут ставим сколько нужно.
Обрезание пройдет строго по длине, без учета слов. То есть слово может обрезаться по середине.
Если нужно, чтобы обрезалось с учетом слов, можно так
  1.  
  2. <?php
  3. $title = mb_substr($title, 0, 100);
  4. $position = mb_strrpos($title, ' ');
  5. echo mb_substr($title, 0, $position);
  6. ?>
  7.  
Примерно так.
#11 [ЕСТЬ РЕШЕНИЕ] Переехал на новый хостинг, сайт не работает 9 октября 2014 в 22:02
Как возможная причина, ошибка синтаксиса, вследствие какого-то символа форматирования в ненужном месте.
Попробуйте перезалить системные файлы. В файловом редакторе не забудьте установить бинарный(!) режим передачи данных.
#12 Подтверждения e-mail перестали работать 19 сентября 2014 в 00:06
Подтверждаю. Для первой ветки после 1.10.2 включительно в настройках сайта во вкладке "Почта" ставим:
Шифрование: ssl
SMTP хост: smtp.yandex.ru
SMTP порт: 465
И всё работает как часы 😊
Для более старших версий открываем файл /includes/phpmailer/phpmailer.php, находим строку 163:
  1. var $Port = 25;
и заменяем на:
  1. var $Port = 465;
Далее находим строку 546:
  1. if($this->smtp->Connect($host, $port, $this->Timeout))
и заменяем на:
  1. if($this->smtp->Connect('ssl://'.$host, $port, $this->Timeout))
И тоже вуаля…
#13 [ЕСТЬ РЕШЕНИЕ] Статусы пользователей 7 сентября 2014 в 19:39

До конца недели осталось несколько часов)

Доротея
Вообще то, я имел в виду следующую неделю. Ну раз уж дама хочет… smile
Потестировать.
#14 [ЕСТЬ РЕШЕНИЕ] Статусы пользователей 7 сентября 2014 в 16:35
На неделе постараюсь сделать smile
#15 Хочу упростить капчу? 7 сентября 2014 в 16:33

А вам не кажется, что капча через-чур сложная для пользователей будет.
Подскажите как попроще сделать ее?

jorgovich
Очень просто. У стандартной каптчи первой ветки(не знаю как на второй) есть настройки. Это файл /includes/codegen/kcaptcha_config.php .
Это файл конфигурации и в нем содержатся основные настройки. Есть комментарии к настройкам, правда на английском.
Например,
  1. $allowed_symbols = "23456789abcdegikpqsvxyz";
разрешенные символы. Можно сделать так:
  1. $allowed_symbols = "0123456789";
и будут только цифры. Что конечно же проще для ввода.
Длина строки каптчи по умолчанию:
  1. $length = mt_rand(5,7);
Это означает, что выбирается рандомно из интервала 5-7 символа. Можно просто указать нужную длину, например в 6 символов:
  1. $length = 6;
Кроме того, можно настроить уровень шумов и др. Экспериментируйте.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.