23.02.2019, 20:10
|
Новичок на форуме
|
|
Регистрация: 23.12.2015
Сообщений: 5
|
|
https://www.phpjabbers.com/free-event-calendar-script/
Скачал отсюда календарь. Установил на сайте, только вот текущий день не показывает, и еще при переходе на следующий месяц, где тоже есть события, дни этих событий не высвечиваются у меня на сайте,
Ответ нашел - в комментариях к скрипту
Последний раз редактировалось Simurg, 26.02.2019 в 21:24.
|
|
23.02.2019, 21:39
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
m~r.Nemo,
п.5 Господи, кликабельность ячеек то здесь при чем, ну это как стрелки и списки тоже текстом сделать, чем они вам помешали то? Пусть навигация в холостую работает, если нет данных по событиям. Нет данных, значит пустой див, значит его не видно, значит его как бы нет, вот и всё. Вы понимаете что у вас могут быть месяцы без всяких событий, чем вы будете тогда див наполнять, пустотой? Тем более так и непонятно незарегистрированные пользователи будут видеть выделенные цветом ячейки по событиям, или им блокируется только описание событий, или и то и другое. Как и непонятно нужен ли им тогда будет выбор страны после этого.
Последний раз редактировалось Rise, 23.02.2019 в 21:51.
|
|
23.02.2019, 22:39
|
Новичок на форуме
|
|
Регистрация: 23.12.2015
Сообщений: 5
|
|
ответ нашел в комментариях к скрипту
Последний раз редактировалось Simurg, 26.02.2019 в 21:24.
|
|
01.03.2019, 06:16
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
Сообщение от m~r.Nemo
|
Как правильнее и универсальнее заносить даты событий/праздников в отдельные файлы?
|
Вот что придумал, вроде умно:
// events-source.js
var eventsSource = [
[[2018], [2], [20], ['Event 1 (2018.02.20)', 'Event 2 (2018.02.20)']],
[[2010, 2020], [7], [15], ['Event 3 (2010-2020.07.15)']],
[[2015, 2017], [2, 4], [25], ['Event 4 (2015-2017.02-04.25)']],
[[2006, 2008], [8, 10], [2, 6], ['Event 5 (2006-2008.08-10.02-06)']],
];
// holidays-source.js
var holidaysSource = [
[[1990, 2000], [2], [5], ['Holiday 1 (1990-2000.02.05)']],
[[2010, 2020], [2], [5], ['Holiday 1 (2010-2020.02.05)']],
];
Последний раз редактировалось Rise, 01.03.2019 в 13:04.
Причина: не тот год был указан
|
|
01.03.2019, 11:26
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,059
|
|
Сообщение от Rise
|
Вот что придумал
|
а можно узнать подробнее что есть что, описание структуры?
|
|
01.03.2019, 12:55
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
рони, а там в скобках можно догадаться что есть что. В общем массив 4-х массивов, элементы с ? могут быть пропущены:
[[год, от год до?], [месяц, от месяц до?], [число, от число до?], [описание одного события?, описание другого события?, и тд? ]]
Последний раз редактировалось Rise, 01.03.2019 в 12:59.
|
|
01.03.2019, 13:15
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,059
|
|
Rise,
ok!
|
|
07.03.2019, 09:36
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
рони, чтение структуры (с мемоизацией):
var src = [
[[2018], [2], [20], ['Event 1 (2018.02.20)', 'Event 2 (2018.02.20)']],
[[2010, 2020], [7], [15], ['Event 3 (2010-2020.07.15)']],
[[2015, 2017], [2, 4], [25], ['Event 4 (2015-2017.02-04.25)']],
[[2006, 2008], [8, 10], [2, 6], ['Event 5 (2006-2008.08-10.02-06)']],
[[2000, 2001], [5, 6], [10, 11], ['Event 6 (2000-2001.05-06.10-11)']],
];
var db = {
data: src,
cache: {},
read: function (y, m, d) {
var key = y + '.' + m + '.' + d, event = this.cache[key];
if (event !== undefined) return event;
var event = null, data = this.data;
top: for (var i = 0; i < data.length; i++) {
var list = data[i];
for (var j = 0; j <= 3; j++) {
var item = list[j];
var date = arguments[j];
if (j == 3) {
event = item;
break top;
} else if (date < item[0] || (item.length == 1 ? date > item[0] : date > item[1])) {
break;
}
}
}
this.cache[key] = event;
return event;
}
};
// true dates tests
function D(y, m, d) {
this.y = y;
this.m = m;
this.d = d;
};
var dates = [
// 2018.02.20
new D(2018, 02, 20),
// 2010-2020.07.15
new D(2010, 07, 15), new D(2020, 07, 15), new D(2011, 07, 15),
// 2015-2017.02-04.25
new D(2015, 02, 25), new D(2017, 02, 25), new D(2016, 02, 25),
new D(2015, 04, 25), new D(2017, 04, 25), new D(2016, 04, 25),
new D(2015, 03, 25), new D(2017, 03, 25), new D(2016, 03, 25),
// 2006-2008.08-10.02-06
new D(2006, 08, 02), new D(2008, 08, 02), new D(2007, 08, 02),
new D(2006, 10, 02), new D(2008, 10, 02), new D(2007, 10, 02),
new D(2006, 09, 02), new D(2008, 09, 02), new D(2007, 09, 02),
new D(2006, 08, 06), new D(2008, 08, 06), new D(2007, 08, 06),
new D(2006, 10, 06), new D(2008, 10, 06), new D(2007, 10, 06),
new D(2006, 09, 06), new D(2008, 09, 06), new D(2007, 09, 06),
new D(2006, 08, 03), new D(2008, 08, 03), new D(2007, 08, 03),
new D(2006, 10, 03), new D(2008, 10, 03), new D(2007, 10, 03),
new D(2006, 09, 03), new D(2008, 09, 03), new D(2007, 09, 03),
// 2000-2001.05-06.10-11
new D(2000, 05, 10), new D(2001, 05, 10),
new D(2000, 06, 10), new D(2001, 06, 10),
new D(2000, 05, 11), new D(2001, 05, 11),
new D(2000, 06, 11), new D(2001, 06, 11),
];
dates.forEach(function (date, i) {
var event = db.read(date.y, date.m, date.d);
console.log(i, date, event);
});
Object.keys(db.cache).forEach(function (date, i) {
var event = db.cache[date];
console.log(i, date, event);
});
|
|
07.03.2019, 10:03
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,059
|
|
Rise,
|
|
|
|