// Как только будет загружен API и готов DOM, выполняем инициализацию
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
// Первичная центровка
center: [20.582821, 54.707826], // Офис Битрикса в Калининграде где-то тут
zoom: 11
}, {
balloonMaxWidth: 200
});
// Обработка события, возникающего при щелчке
// левой кнопкой мыши в любой точке карты.
// При возникновении такого события откроем балун.
myMap.events.add('click', function (e) {
if (!myMap.balloon.isOpen()) {
var coords = e.get('coordPosition');
// Вот тут заполняйте нужный вам input в форме координатами
// Или отправляйте AJAX, как вам больше нравится
// У Яндекса сначала долгота --> coords[0].toPrecision(4)
// Потом широта --> coords[1].toPrecision(4)
// Почти у всех остальных Картографических сервисов наоборот.
// Точности по опыту хватает до 4 знаков
myMap.balloon.open(coords, {
contentHeader: 'Событие!',
contentBody: '<p>Кто-то щелкнул по карте.</p>' +
'<p>Координаты щелчка: ' + [
coords[0].toPrecision(4),
coords[1].toPrecision(4)
].join(', ') + '</p>',
contentFooter: '<sup>Щелкните еще раз</sup>'
});
} else {
myMap.balloon.close();
}
});
// Обработка события, возникающего при щелчке
// правой кнопки мыши в любой точке карты.
// При возникновении такого события покажем всплывающую подсказку.
myMap.events.add('contextmenu', function (e) {
myMap.hint.show(e.get('coordPosition'), 'Кто-то щелкнул правой кнопкой');
});
}
Вставляете в script.js компонента, где инициализируется карта или прямо в тело страницы с компонентом.
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Посмотрите пример реализации у Google Gadgets - там выпадающее меню со списком гаджетов и кнопка "изменить" - может так сделать логичнее: выводить инпуты для ваших параметров и кнопку "запомнить" прямо в тело гаджета?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Здравствуйте! Я понимаю, что мое мнение мало чего изменит, но все же хочу поделиться впечатлениями.
*пролог* Пришел я на сайт вашей компании чуть больше месяца назад исключительно из корыстных интересов - стать разработчиком под Bitrix Framework. С некоторыми другими фреймворками я уже дружу и внедрений различных API уже перевалило за две дюжины причем давно, про MVC тоже неоднократно слышал - начал читать документацию по API и учебные курсы. И как еще учил меня мой отец, прошел материал - закрепи, решил пройти тематический тест тут же...
*полезный контент* Итак, для того чтобы просто получить право прохождения теста на разработчика Bitrix Framework мне пришлось изучить и сдать 19 курсов и тестов к ним, в том числе контент-менеджер, администратор и интегратор 1С. Хотя, на мой взгляд разработчику полезно и обязательно было бы пройти курс Интеграция.
*эмоциональная часть* Я конечно счастлив, что руководитель проектов моей компании на меня теперь не нарадуется, и я теперь могу ставить CMS, "верстать под Битрикс", "писать компоненты под Битрикс", делать "лэнгпаки", администрировать сервер, переносить контент и настраивать компоненты как мне хочется, даже выгрузки из 1С Управление Торговлей делать на сайт и заказы отправлять обратно, но... В реальности это должны делать разные люди! Админ сервера - делать дампы и вносить изменения в настройки виртуалхоста или AD, админ сайта - раздавать права пользователям, контент-менеджер - вносить и изменять контент, client-side - разработчик писать пользовательские интерфейсы, а server-side - PHP код и SQL запросы! Я убил кучу времени на изучение всего этого - месяц, на чтение, усвоение информации, опробации на реальных примерах. Я столько не писал и не рисовал с Академии. Про время, проведенное за чтением форума - я вообще молчу.
*эпилог* Мне кажется есть смысл немного пересмотреть порядок прохождения курсов для разработчика на Bitrix Framework.
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Вы вообще какую фотогалерею имеете в виду? Если обычная то в настройках компонента для списка (т.е для альбомов) "Настройка списка" - "Установить заголовок окна браузера из свойства", а для детального просмотра (т.е для фотографии) в "Настройках детального просмотра" тоже есть соответствующие поля. Если нужно в альбоме тоже description устанавливать - надо допилить компонент немного.
И как решили, через .htaccess и многосайтовость? Или хватило условий применения шаблона? Или .htaccess и условия применения шаблона? Не поделитесь опытом-то?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
По опыту, есть вероятность, что trim там не для красоты. Просто обрамите строчку в if(!is_array($arParams["IBLOCK_ID"])), тогда у вас апдейт компонента пройдет безболезненно.
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Много зависит от задачи. По большому счету проще получать список необходимых инфоброков и цикле подключать один компонент для отображения, в который и передавать ID инфоблока текущей итерации - чтобы не лепить горбатого. А шаблон компонента кастомизировать на ваш вкус. Можете написать комплексный компонент, который так и будет делать, а в его настройках указывать правила выборки инфоблоков - проще говоря фильтр, или мультиселект. Ну это я так вижу простейшее решение проблемы.
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
А вы кодировку файла dbconn.php на UTF-8 без BOM поменяйте, если она сейчас не такова. Идея такая, что раз вы изменили только права, всё обломалось, вы поменяли значение на первоначальное и все равно ничего не заработало, и больше вы ничего не трогали - стало быть единственное, что вы могли изменить неумышленно - это кодировка. К тому же браузер ругается, что косяк с компрессией. Чем файл редактировали-то?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Давайте просто для ясности: 1. Вы выставили права доступа к инфоблоку "все пользователи полный доступ" 2. Вы выставили права к разделу "Все посетители" - "Чтение" 3. Вы выставили права к странице "Все посетители" - "Чтение" 4. Добавили на страницу компонент bitrix:photogallery.upload 5. Заходите незалогиненым пользователем по адресу, где лежит компонент И в этот момент вы видите доступ запрещен?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Тот же код что и у вас (может за исключением тайм аута в 0.1 секунды) в script.js А в template можно ядро jQuery инициализировать, если раньше вы этого не сделали:
Код
<? CJSCore::Init("jquery");?>
Вроде проще смотрится, а функционал тот же.
P.S.
Цитата
на чистом JS
Тут вот я не понял, тот код, который вы показали он JS+jQuery для его работы с большой долей вероятности нужно инициализировать ядро (или скриптом подключить в крайнем случае). Или что вы подразумеваете под "чистым JS"?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Можно это и сразу в альбоме в доп поле прописать [SESS_GUEST_ID] и потом по нему вытаскивать.
Тут разобрались - привязка к сессии. В корзину вы можете положить заведомо известное, конечное количество элементов - ну это так - к слову... Стало быть пользователь, чей браузер способен держать сессии может заливать что угодно в каком угодно количестве на ваш сервер? А не дадите ссылку на проект?
По сабжу - передавайте в компонент пользовательский параметр какой-нибудь, тот же SESS_GUEST_ID - а при отображении галереи сделайте фильтрацию по тому самому параметру.
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Вот тут http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=4&LESSON_ID=66&LESSON_PATH=3877.3946.66 структура компонента. В папке templates лежат шаблоны компонентов (по умолчанию в .default), а уже в них лежит сам шалбон, style.css, script.js, которые буду автоматом добавляться, если вы используете соответствующий шаблон. Если какого-то из файлов нет, его можно добавить в ручную и он тоже применится. В конце концов при загрузке страницы загрузятся стили шаблона сайта, потом для каждого компонента на текущей странице стили из папки используемого для него шаблона (выбирается на вкладке "Стили шаблона" при "Редактировании шаблона"), если они там заданы файлом style.css.
Доступно, или только запутал?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Каждый пользователь мог видеть только свои фотографии и работать с ними
и
Цитата
Мне необходимо сделать так, чтобы не зарегистрированный пользователь мог сделать загрузку своих фотографий
То есть незарегистрированный пользователь тоже должен заливать фотографии и работать только с ними - как система должна узнавать кому-какие фотки отдавать при запросе доступа к фотографиям, если у пользователя еще нет идентификатора? Или незарегистрированные пользователи могут заливать фотографии в какой-то один общий паблик?
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Уже боюсь вмешиваться, но вот прочел и родилась следующая мысль: Если нужна наценка в перделах одного компонента, думаю, быстрее внести изменение в result_modifier для компонента, где просто домножать на ваш параметр наценки каждую цену, в случае, если параметр наценки задан и является числом.
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)
Я за парсер не ручаюсь, но я б для начала поменял: /photo-gallery/detail.php?SECTION_ID=#SECTION_ID#/ELEMENT_ID=#ELEMENT_ID# на /photo-gallery/detail.php?SECTION_ID=#SECTION_ID#&ELEMENT_ID=#ELEMENT_ID# И посмотрел бы, что будет. А то у вас получается один параметр: SECTION_ID и равен он #SECTION_ID#/ELEMENT_ID=#ELEMENT_ID#
Мальчик был настолько ленив, что специально вставал пораньше - чтобы подольше ничего не делать! (с)