Цитата |
---|
Александр Пономарев пишет: можно ли как нибудь средствами битрикса организовать подобие спойлера? как на форумах? |
$("#myspoiler_btn").click(function () {
$("#myspoiler").toggle();
});
скроет и покажет любой элемент с ID="myspoiler"...
05.02.2010 13:54:12
Протестировал, получился вот такой окончательный вариант, чуть изменил транслитерацию (заменил пробелы на подчеркивание):
ЗЫ Возможно, стоит добавить это решение в FAQ. |
|||
|
05.02.2010 13:02:52
Спасибо, это то что надо.
To All, в общих чертах, делается примерно так: <? // файл /bitrix/php_interface/init.php // регистрируем обработчик AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("CymCode", "OnBeforeIBlockElementAddHandler")); class CymCode { function imTranslite($str){ // транслитерация корректно работает на страницах с любой кодировкой // ©Imbolc static $tbl= array( 'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'g', 'з'=>'z', 'и'=>'i', 'й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o', 'п'=>'p', 'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'ы'=>'i', 'э'=>'e', 'А'=>'A', 'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'G', 'З'=>'Z', 'И'=>'I', 'Й'=>'Y', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R', 'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ы'=>'I', 'Э'=>'E', 'ё'=>"yo", 'х'=>"h", 'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>"", 'ь'=>"", 'ю'=>"yu", 'я'=>"ya", 'Ё'=>"YO", 'Х'=>"H", 'Ц'=>"TS", 'Ч'=>"CH", 'Ш'=>"SH", 'Щ'=>"SHCH", 'Ъ'=>"", 'Ь'=>"", 'Ю'=>"YU", 'Я'=>"YA" ); return strtr($str, $tbl); } // создаем обработчик события "OnBeforeIBlockElementAdd" function OnBeforeIBlockElementAddHandler(&$arFields) { if(strlen($arFields["CODE"])<=0) { $arFields["CODE"] = imTranslite($arFields["NAME"]).date('dmY'); return; } } } ?> |
|
|
05.02.2010 12:15:55
Большое Спасибо Макс, мне как то в голову не пришло что означает эта галка, как то не очевидно там, выло бы здорово чтобы там всплывающая подсказка была.
А как на счет уникальности этого поля, ведь если редактор введет туда значение, которое уже применялось, будет выборка уже будет не однозначной? |
|
|
05.02.2010 10:27:43
Алексей спасибо, плюсик вам в карму
А то развелось тут снобов, вместо того чтобы писать побольше статей, популяризировать любимый продукт - наоборот, отталкивают. Смысл их сообщений - вы все тупые, один я Д'Артаньян. Теперь по теме. Весьма заманчиво использовать в ЧПУ символьный код записи (элемента инфоблока), где вместо адреса: был бы адрес Казалось бы, заполняем поле "Символьный код", в настройках инфоблока в качестве URL страницы детального просмотра указываем #SITE_DIR#/news/#CODE#/ а в urlrewrite.php прописываем через "Рабочий стол Настройки > Настройки продукта > Обработка адресов" Условие: #^/news/(.+?)/# Компонент: bitrix:news Файл: /news/detail.php Правило: CODE=$1 На странице /news/detail.php изменить параметры компонента. "Рабочий стол –> Контент–> Структура сайта–> Файлы и папки–> news/detail.php" Лучше редактировать в режиме TEXT вместо "ELEMENT_CODE" => "", использовать "ELEMENT_CODE" => $_REQUEST["CODE"], ...в итоге всё красиво, до того момента, пока человек забудет это поле заполнить, как быть? Ведь в итоге мы вместо Предполагаю что можно какой то обработчик использовать, который при событии сохранения страницы проверял это поле и всписывал транслит названия элемента (еще бы желательно с проверкой на уникальность) Ваше мнение народ? |
|
|
22.01.2010 13:18:11
Дим, Вы посты что ли набираете. А то я смотрю Вы практически всех мордой в RTFM тычите. Я честно покурил мануал, у меня ничего не вышло, по гуглил по форуму - та же тема. Сюда написал в надежде что кто то проникнется, вспомнит как сам когда то осваивал эту тему и просветит новичка.
Не всем же приходит Дзен сразу |
|
|
22.01.2010 10:30:27
Привет всезнающий All!
Я создал свой инфоблок (аналогично новостям), всё замечательно работает, и решил настроить ЧПУ. Т.е. превратить в В обработчике адресов прописал по аналогии с новостями #^/zzz/# bitrix:news /zzz/detail.php однако получаю "Элемент не найден!" Просветите кто нибудь, чего не хватает... |
|
|
21.01.2010 10:13:26
Т.е. файлик с компонентой там есть(файлик
|
|||||||
|
20.01.2010 18:26:27
Здравствуйте Уважаемый All!
Уже два дня как я изучаю Битрикс, и тут же возникли трудности понимания как работает инфо-блок. На сколько я понимаю, это неуие универсальные контейнеры, которые представляют возможность размешать там элементы типа новости, каталоги, галлереи и пр. Я решил попробовать создать с нуля инфоблок типа новости, поступаю так: 1. Создаю свой тип инфоблока (зову его zzz) 2. Внутри создаю инфоблок, там указываю всё по минимуму, т.е. заголовок, привязка к сайту и открываю доступ всем на чтение. В настройках там появляется запись (собственно с которой у меня трудности): URL страницы детального просмотра: #SITE_DIR#/zzz/detail.php?ID=#ID# 3. В инфоблоке создаю пару элементов в которых заполняю поля. 4. на главной странице помещаю компонент - Список новостей (bitrix:news.list) в котором указываю свой тип инфоблока и сам инфоблок. 5. Вижу на странице список своих элементов у которых адреса ведут в если перейти по этим адресам, то получаю: Подробнее о ZZZ =========== Элемент не найден! Вот собственно и вопрос, чего тут не хватает, как этот детэйл определить, куда чего класть. Ковыряния радом стоящего инфо-блока ситуацию не прояснило, мануал так же не ответил на мои вопросы |
|
|