nick-ev написал: В общем абсолютно не понятно где настраивается доступ к PHP
Оу... сорри. Перечитал тему еще раз более внимательно - загружать скриптовые расширения может только администратор. Если Вы не администратор то не сможете загрузить php-файл.
Для получения расширения файла из самого файла можно воспользоваться функцией pathinfo Дело в том, что современные браузеры умеют перестраиваться, т.е. если вы создадите файл test.jpeg и сохраните его как test.png то не смотря на различие файлов он будет корректно обработан браузером. А ведь можно взять *.exe файл и сохранить его как *.jpg
Евгений Дрыжов написал: а не подскажете какой вариант самый простой в плане реализации?
Самый простой - phpSpreadsheet. Но прям вот манула делай-раз-делай-два нет. Есть отдельные примеры, которые нужно составить самому. Посмотрите по ссылкам выше - там все указано. Придется поучиться.
Евгений Дрыжов написал: Возможно ли подключить какую-либо библиотеку, которая будет формировать новый pdf файл с данными взятыми из таблицы?
Конечно. Как пример, несколько вариантов: - генерировать через phpSpreadsheet таблицу и экспортировать в pdf - можно рисовать на странице таблицу и сохранять ее в pdf (например через headless chrome или phantomjs)
Воспользоваться методом: CCrmLead::GetList() и в фильтре в ключе FM передать массив для фильтрации CCrmFieldMulti::GetList() Если ищите только по email и телефону то можно сразу через CCrmFieldMulti искать
Владимир Кротов написал: Это что, как это интерпретировать и как к этому относится?
К такому привыкаешь. Модули разрабатываются независимо и по версиям битрикса не все можно поправить все и сразу. Конечно не очень хорошая ситуация, но чем богаты как говорится...
Алексей Шафранский, версия bitrixenv 7.3.0, версия mysql - Server version: 5.6.40-84.0 Percona Server (GPL), Release 84.0, Revision 47234b3 Пункта про переход на 5.7 нет. Это нормальное поведение? И как обновиться до 5.7? Или нужно с 0 ставить?
1) Открывай и изучай: /bitrix/modules/main/classes/general/usertypestr.php 2) Создай собственный класс-наследник CUserTypeString, где переопределишь все необходимые тебе свойства и методы (можно начать с USER_TYPE_ID, GetUserTypeDescription, GetDBColumnType - это обязательно) 3) Добавь его в автозагрузку класс и подпишись на событие OnUserTypeBuildList модуля main ( обработчик - GetUserTypeDescription из твоего класса) 4) Создай пользовательское поле и проверь что оно действительно работает. 5) Радуйся
Конечно Это же техническая поддержка платного продукта, а судя по описанию - у вас как раз таки гарантийный случай Даже более того - это эффективнее чем тут писать (по большей части это для технических специалистов, партнеров, фрилансеров).
semkova, ставьте оценку неудовлетворительно команде поддержки, пишите чтобы сами правили и отлаживали. Номер тикета приложите сюда и дополнительно напишите руководителю тех. поддержки (Денис Шаромов, denis@1c-bitrix.ru, если не ошибаюсь). Можете еще в facebook написать и призвать сотрудников к публичному ответу))
Сергей написал: В общем, в header.php шаблона по традиции не работает вывод
Он и не должен вызываться. Используйте $APPLICATION->ShowHead() и он уже в свое время вызовет необходимые meta
Цитата
Сергей написал: Я сначала прописал это в component_epilog.php потом хотел перенести в template.php Быстрее так будет или хуже т к не кэшируется или это не имеет значения?
Если Вы используете инфоблоки - переходите на стандартный SEO-модуль и его возможности. Не будет геморроя в дальнейшем и много плюшек. Если рассматривать конкретно Ваш вариант - я бы вычислял SEO в result_modifier.php добавлял его в результат кеша и в component_epilog.php выводил (сохраняете возможность кеширования этой части - быстрее работает)
Цитата
Сергей написал: 2) header вызывается до содержимого страницы,как ShowProperty получает нужное значение? Если она "дожидается" загрузки всех компонентов и только потом передает значение, увидят ли это значение боты Яндекса и Гугла?
Сергей написал: 3) Правильно ли вызывать в этом случае ShowProperty из component_epilog.php или лучше из шаблона компонента или из result_modifier.php
Правильно, так как result_modifier.php кешируется. Если Вы будете вызывать это из result_modifier.php получится что meta-теги будут только на не кешируемом хите.
Цитата
Сергей написал: 4) Как правильно сделать проверку на непустое значение этой переменной и в случае пустого выводить
Лучше задать дефолтное значение в начале выполнения страницы и уже его переопределять. Профита больше.
Цитата
Сергей написал: Вопрос №10. Тут возник второй вопрос: эта штука отлично дергает блоки из раздела Информация, но не видит блоки из раздела Каталог - это так и задумано?Я был готов к тому, чтобы из пути к странице вычленять составляющие и по ним вычислять BLOCK_ID и SECTION
Вы же явно поставили ограничение - активные элементы 25-инофблока. Почему он должен смотреть в другой инфоблок?
Цитата
Сергей написал: Вопрос №20. Правильно ли я понимаю, что при этом потребовалось бы несколько дополнительных запросов в базу при каждой загрузке страницы и это плохое решение?
Да, но только если эти хиты не попадают на кеш.
Цитата
Сергей написал: не будет ли это решение лучше всего вышеописанного?
Лучше - и правильнее
Цитата
Сергей написал: Не лучше ли писать ключи из параметров разделов каталога в переменные сессии?
Не лучше. Я бы даже сказал намного хуже
Цитата
Сергей написал: В modx к id страницы привязаны все поля метатегов, хранящиеся в базе, и не надо ломать голову как их найти и отобразить. В чем недостаток такого решения по сравнению с framework bitrix?
В битриксе смешанная структура (т.е. страница может быть и физической и логической), так что однозначной структуры хранения тут быть не может в принципе. Подход modx к битриксу не применим. К тому же, по технологии отложенных функций они определяются исходя из содержимого страницы, а так как на странице может быть множество компонентов, то каждый компонент может переопределять эти поля.
P.S. На вашей месте я бы подтянул следующие темы: - Архитекутра Битрикс (файлы, папки, .section.php) - Компоненты (как работают, какие есть стандартные и что в них за SET_TITLE, SHOW_META* и т.п.) - Порядок выполнения страницы - Отложенные функции - SEO-возможности инфоблоков
Коннонические ссылки, убираю дубли страниц и указываю важные., Работаю со сложной структурой. Яндекс много выкидывает страниц а гугл вобще мало индексирует..
Илья Кудрин, почему бы собственно не закрыть от индексации эти параметры? Я к тому, что принципиально мало что поменяется - ведь все те же товары и каталог уже будут в выдаче (при добавлении get-параметра у Вас же не появляются новые (читать: доселе неизвестные) товары)
Konstantin Fedorov написал: Файлы и папки созданые в phpstorm и перенесенные через sftp под логином root на виртуальную машину
Потому что Вы сидите под root, а httpd запущен под bitrix. Либо Вы НЕ должны сидеть от root (что правильно) и сидеть под bitrix, либо Вы после загрузки должны менять владельца (chown) на пользователя bitrix (ID:600) и группу bitrix (ID:600)
1) Это не код страницы, а код шаблона регистрации 2) Код "echo CMegatronTools::GetNotification" и т.п. в шаблоне - это полная жопа и от него нужно избавляться - лучше выносить на события (иначе потом хлебнете горя с отладкой) 3) Для решения Вашей ситуации нужно кастомизировать шаблон добавив input[type=file] и его обработчик (т.е. хз что за компонент) + на событии добавления пользователя можно закидывать дефолтный если не задан (можно так не делать - кучу места сэкономите, но тогда придется во всех местах при выводе это контролировать)