Чтение RSS каналов

Форум

Открыть Ответить

Функционал SLAED 6.X

0

0
1
31.05.2017 23:07:0501.06.2017 20:18:25
Создаю свой модуль и пытаюсь по максимом использовать функционал 6.X, однако с моими знаниями... не все понятно и очевидно.

[1] Есть казалось бы прекрасная функция отрисовывающая закладки на странице (например в настройках аккаунта - в одной закладке выбор аватарок, в другой настройки) и функция такая простая- два массива, названия закладок и содержание.

НО! очень я люблю, что бы юзвер не метался по сайту, не совершал 100500 кликов, и очень хочется на некоторый функционал (вторую/третью/... ) закладку прокинуть прямую ссылку, но вот совершенно не понятно как.

Подскажите как, или где что подправить что бы по определенным ссылка "активной" становилась не первая закладка.

[2] Очень нужен мне функционал срабатывания формы без перезагрузки страницы, вот тут на 99% то что нужно, но не знаю как корректно интегрировать и вызывать в модуле. Еще как я понял в блоке голосования тоже срабатывает форма без перезагрузки, и опять же - как пользоваться функционалом?


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Локальный сервер

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
2
01.06.2017 20:39:0901.06.2017 21:16:00
1. За формирование закладок отвечают:
Файл: modules/account/index.php
Функция: edithome()
Участок: navi_tabs(1, "tab", array(_CHANGE, _AVATARSETUP, _PASSSETUP), array($change, $asetup, $psetup))

Функция генерации navi_tabs() находится в файле ядра: function/function.php

По умолчанию, при новой загрузке страницы отображается первая закладка, поэтому нужную следует установить соответственно. Выбранная закладка сохраняется в Cookies и запоминается системой при обновлении страницы.

2. В блоке голосования используется встроенная библиотека JQuery.
Функция AjaxLoad() в файле: plugins/jquery/jquery.slaed.js
Функции avoting_view() и avoting_save() найдёте в ядре: function/function.php

Пример реализации модуля в отделе документации, статья "Создание собственного модуля".

P.S.: Модификация модуля обратной связи стоит в планах на следующую версию. Реализация будет именно на Ajax с использованием библиотеки jQuery. В итоге получим универсальную форму, которую можно будет использовать в любых участках системы и даже в ББ Редакторе при публикации текстовых материалов, дополнительно к этому, новая форма немного охладит пыл спамерским роботам и программам.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
3
02.06.2017 18:52:4202.06.2017 19:11:08

P.S.: Модификация модуля обратной связи стоит в планах на следующую версию. Реализация будет именно на Ajax с использованием библиотеки jQuery. В итоге получим универсальную форму, которую можно будет использовать в любых участках системы и даже в ББ Редакторе при публикации текстовых материалов, дополнительно к этому, новая форма немного охладит пыл спамерским роботам и программам.


буду ждать реализации Смайл - 07

Функция генерации navi_tabs() находится в файле ядра: function/function.php

По умолчанию, при новой загрузке страницы отображается первая закладка, поэтому нужную следует установить соответственно. Выбранная закладка сохраняется в Cookies и запоминается системой при обновлении страницы.


Честно много раз перечитывал... так как при загрузке страницы установить нужной/выбранной скажем вторую закладку..
и про Cookies - через "Анализатор переменных: COOKIE" я там нечего не увидел, и при перезагрузке стр. всегда активна первая.

вопрос по работе с группами пользователей:
как выводить код ТОЛЬКО для определенной группы пользователей, есть ли функция возвращающая к какой группе/группам принадлежит пользователь (id группы или название)
или нужно смотреть в глобальной переменной $user его id и делать запрос к табличке с пользователями и смотреть что у это юзвера в колонке "user_group" и уже из этого строить всякие там IF...

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
4
02.06.2017 22:37:5003.06.2017 11:24:25

про Cookies - через "Анализатор переменных: COOKIE" я там нечего не увидел, и при перезагрузке стр. всегда активна первая.

Проверил на нашем проекте в настройках профиля. Могу только подтвердить вышесказанное, закладки работают корректно, при переходи на вторую вкладку, после обновления страницы она остаётся.

Прошу всех у кого это не происходит, отписаться в данной теме.

как выводить код ТОЛЬКО для определенной группы пользователей

Смотрите функцию: is_acess($ids)
Файл: function/function.php

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
5
03.06.2017 15:35:1203.06.2017 15:37:35
"SLAED CMS" а какой у вас браузер/виндовс? выполняю аналогичные действия на этом сайте (slaed.net):
логинюсь, перехожу в "account" -> настройки -> выбираю закладку "выбор аватара" -> "F5" (или переход на др. стр. и возврат сюда) ! активна первая закладка "настройки".

после вашего ответа подумал у меня google chrome балуется, но выполнение этого теста в стандартном "ie12" и "ie edge" дает аналогичную ситуацию (а я эти браузеры в жизни не юзал, в смысле настройки там все по умолчанию.)
WIN10 64.

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
6
03.06.2017 21:41:5403.06.2017 22:11:09
Да, действительно, в Chrome и IE Edge есть данный глюк.
С Mozilla Firefox проблем не наблюдается.

Данный функционал завязан на jQuery, сейчас используются актуальные библиотеки: jQuery JavaScript Library v3.2.1, jQuery UI - v1.12.1, jQuery Cookie Plugin v1.4.1

Возможно проблема в этом участке:
Файл: plugins/jquery/jquery.slaed.js
Функция:
// jQuery UI tabs and cookies
$(function() {
	var obj = '';
	var cname = 'sl_tabs';
	var cvalue = '';
	var cexpires = 30;
	var cpath = location.pathname + location.search;
	var cdomain = location.host;
	for (i = 0; i < 10; i++) {
		obj = '#sl_tabs_' + i;
		$(obj).tabs({
			active: ($.cookie(cname) || 0),
			activate: function (event, ui) {
				cvalue = ui.newTab.parent().children().index(ui.newTab);
				$.cookie(cname, cvalue, {expires: cexpires, path: cpath, domain: cdomain});
			}
		});
	}
});

Буду искать причины, о результатах соответственно сообщу.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
7
06.06.2017 00:55:2306.06.2017 01:30:04
в админке увидел интересную функцию/функционал, ( например в администрировании новостей): отрисовывается табличка со списком новостей и в конце каждой строчки чекбокс, а ниже выпадающий список с разными действиями и кнопка, очень удобно.

Это я повторил в модуле (не в админке) и выбраные чекбоксы передают значение как нужно, с этим проблем нет.
НО! не поручается прикрутить чекбокс к шапке таблички, в эту колонку, что бы он "селектил" все остальные.
теги
<table class="sl_table_list_sort">

и
<th class="{sorter: false}">$arg[2]</th>

идентичны админке, но в модуле при генерации страницы, в теге <th> class="{sorter: false}" - игнорируется и дописывается "sl_sort" в класс,
и в результате:
<th class="{sorter: false} sl_sort">...</th>

сам то чекбокс там есть но "нажимаю" я не по нему а по сортировке колонки.
Где что и как подправить, что бы работал "sorter: false" как в админке и отмечались все чекбоксы.
Короче хелп. Смайл - 09

UPD.
чекбокс заработал, и сортировка для данного тега пропала при добавлении в <head> сайта
<script src="templates/admin/js/jquery.metadata.js"></script>
<script src="templates/admin/js/tabs.js"></script>

но не вызовит ли это конфликт с другими .js (другим функционалом)?
и можно ли вызывать эти два .js только для этой страницы (в этой функции модуля)?


Р.S
1. в BB редакторе в кнопке "код" не увидел формата HTML, а что выбирать то?
2. а под текущий 6.2про какой PHP лучше 5.х / 7.х ?


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Локальный сервер

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
8
06.06.2017 21:16:3406.06.2017 21:40:05
Функционал базируется на jQuery. Использование обоих скриптов:

Сортировка таблиц без перезагрузки - plugins/jquery/jquery.tablesorter.js
Метадата для чекбоксов - templates/admin/js/jquery.metadata.js

Приводит к конфликту, при котором сортировка полностью "отваливается". Посмотрите сайт автора, может быть вам удастся разобраться. Обратите внимание, на GitHub доступна новая версия TableSorter 2.28.13. Найти решение конфликта на момент реализации данного функционала к сожалению не смог, возможно новая версия TableSorter 2.28.13 решит этот вопрос.

В BB редакторе, кнопка "код" нет формата HTML, что выбирать?

Выбирайте XML, поддерживает HTML по умолчанию.

А под текущий 6.2 Про какой PHP лучше 5.х / 7.х ?

Однозначно PHP 7.* и выше.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
9
08.06.2017 21:04:1408.06.2017 21:04:59
вот вы приводили пример:

Модифицируйте основной файл темы: index.html
Пример возможного использования:


<img src="templates/$theme/images/logos/$lan[2]" border="0" alt="$lan[1]">

а какую функцию поправить и как что бы в шаблонный "index.html" передавать еще один агрумент
типа $lan[50] ( будет иметь значение time() ) , хочу добавлять к некоторым ссылкам , ну запарился уже бороться с кешированием страниц .
добавление всякой мишуры типа:
<meta HTTP-EQUIV="Expires" CONTENT="0"> 
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, no-store, must-revalidate">

вообще не помогает.

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
10
08.06.2017 21:42:2308.06.2017 21:43:27

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

Каждому своё, кто то наоборот хочет активно кэшировать. В вашем случае рекомендую отключить "Активировать кэширование браузером?" в конфигурациях системы, закладка "Кэширование".

какую функцию поправить и как что бы в шаблонный "index.html" передавать еще один агрумент

Смотрите файл: function/template.php

Для верхней части "шапки сайта": tpl_head()
Для нижней, соответственно функция: tpl_foot()

Смотрите как создаётся массив и последовательно добавляете свои переменные.

Что бы в последствии не было забот с обновлением, можно создать в корне папки темы свой файл: index.php, тогда системой будет использоваться он. Предусмотрено дублирование и модификация необходимых вам функций из файла: function/template.php

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь