Возникли вопросы. - Почему файлы компонента не объединили в одной директории? Не удобно, что все они раскиданы.
- Файлы шаблона админки расположены в директории шаблона сайта. При переименовании или удалении невозможно будет попасть вообще на сайт и в админку в частности.
- Установщика компонентов нет. Т.е. залил я компонент, но без добавления компонента в БД я его в списках не увижу. Соответственно, либо давать файл с запросами, либо писать какой-то установщик... Почему бы не реализовать более удобное управление? Класть в директорию компонента какой-то файл типа component.xml в котором будет его описание, и тогда уже инициализировать их в списке. Добавить кнопку Установить и соответственно какой-то файл install.php в котором уже будет класс установщика, где определить какой-то метод, например actionInstall в котором уже описать запросы к БД или что угодно, аналогично создать и actionUninstall(для удаления) и actionStatus(для включения\выключения). Это уже избавит юзера от лишних телодвижений.
1. Тех, кто делает шаблоны, гораздо больше чем тех, кто делает компоненты. Им должно быть удобнее. Также, шаблоны это не только .tpl.php, это еще css и картинки, т.е. статика. И статику в ряде случаев гораздо предпочтительнее иметь в одном общем месте, чем размазанной по папке system, где должен быть только рабочий код. Теоретически, данный подход может вообще позволить вынести папку system за пределы document root, что очень полезно для безопасности. Так что в этой папке не должно быть никаких файлов, доступных извне. И в ней уже сейчас лежит .htaccess с Deny From All внутри. Да и вообще, я не вижу никаких особых проблем в том, чтобы один раз открыть файлы шаблонов в редакторе. Потом с ними спокойно работаешь просто переключаясь между вкладками.
2. Задачи бывают разные.
3. Да, про него. В 2.0 нет кучи разных установщиков. Есть один, который умеет все. Как с ним работать я расскажу в отдельном видео.
3 - я про это и писал, что невозможно установить компонент не прогоняя его через установщик. просто залить и включить нельзя, так как компонент никак не определяется пока не будет добавлена запись о нем в БД.
Просто залить и включить нельзя, потому что это противоречит текущей идеологии. Сейчас установка всех дополнений должна происходить через админку. Пользователю удобнее выбрать zip-файл в админке, чем самому распихивать файлы по папкам.
Для удобства добавления компонентов, тогда было бы неплохо в админке иметь возможность установить их "по клику". Как в wp реализовано, сразу с сайта icms
Без претензий! Надо установщик? Напиши его! Что тебе мешает это сделать? В Видео все разжовано, дополнительно читай php.net и делай себе и другим установщик.
Мы на ТЫ не переходили. Я что, просил написать установщик? Я задавал вопросы - зачем и почему. Мне, как разработчику, например, многое не понятно в логике реализации некоторого функционала. Я бы делал иначе, по этому и решил спросить.
r2, будет ли в двойке Плагина и Фильтры, как на первой ветке? То есть есть несколько маленькие разработки, но не хочется для этого создать компонент (пока что могу создать только компонент)
Есть уже те, кто смог повторить, то что на видео? 1:1 Если не жалко - выложите исходники. Я конечно понимаю, что если самому все с 0 собрать - то в голове больше отложится, но по временным соображениям не представляю когда это случится ... Спасибо.
Посмотрев все видео, могу сказать огромный респект R2, действительно все очень хорошо изложено, и доступно для простых смертных.
Единственный вопрос который меня немного терзает, это какие были причины, для разделения в форме полей items и generator ? Логичнее было бы иметь одну точку входа items и сделать просто проверку на тип значения, массив или функция. Или я что то упустил?
r2, подскажите пожалуйста, как в админку компонента, создать свои страницы, по мимо options и perms, тоесть я создаю actionCats() и просто echo '123'; выводиться, но как мне обращаться к модели? $this->model не работает, и незнаю как там указать файл шаблона во фронтенде это было с помощью $template
Раз уж говорим об оптимизации бд, то надо вынести из контентных таблиц поля по типу comments и rating в отдельные, дабы кэш запросов у самой бд не сбрасывался.
1) в cms пока еще нет поддержки транзакций и триггеров - а innodb вполне позволяет а) удалить строку из таблицы(статью например) и триггером удалить все связанное с ним (комменты, голоса и т.п.) б) откатить добавление из других таблиц - если вдруг нашлась ошибка и т.п. 2) innodb быстрее пишет, myisam - быстрее читает - у меня записи к чтению 1 к 20 максимум. у других думаю аналогично в myisam будет все быстрее работать 3) foreign keys тоже нет - см. п.1 4) innodb надежнее - у вас БД часто падало? - у меня ни разу - пока сам не уронил) 5) в innodb нет fullsearch index - пока ничего не могу сказать 6) innodb - более новая система - это да, не поспоришь
получается причина №6 (и наверное 5) еще может быть причиной то, что innodb блокирует только строку в таблице, а не всю таблицу - но это какая посещаемость должна быть, что бы этим пользоваться
У меня раз была таблица с миллионом строк и весила 50гб на myisam Выборка последнего листа по LIMIT занимала 40 сек. А по ключевому индексу вообще мгновенно любая строка и даже несколько через IN. Оно даже начало активно индексироваться и не падало при этом. Но потом позвонили с хостинга и попросили уменьшить размер бд)
Видео снято отменно, но возник вопрос на который не как не могу получить ответ - как можно сделать в компоненте свое дерево категории, вроде как в системе не нашел ничего чтобы это позволяло делать. Если нужно писать все самому, просто ответите чтобы не ломал голову и буду ваять свои классы для этого.
в базовом классе cmsModel есть множество методов для работы с категориями ( getRootCategory, getCategory, getCategoriesTree, addCategory и др.) их реализацию можно посмотреть в /core/classes/model.php из кода станет понятно как их использовать (с какими аргументами вызывать)
И эту часть учебника я таки одолел. Если сказать что данные видео-уроки супер - это значить ничего не сказать. По мне, в таком виде лучше воспринимается материал, чем сухой текст в документации. А допускаемые уважаемым r2 ошибки, не только не мешают, а наоборот помогают понять как их искать и справлять. Вообщем сейчас сяду за "урок по инсталлятору", хотя бегло я его уже просмотрел. А по данному уроку есть вопросец. Я правильно понял (причем этого нет даже в выложенных исходниках урока), что не были реализованы следующие функции для назначенного админа фотобитвы: - удаление фотографии (action/photo_delete.php); - запуск и остановка модерируемой фотобитвы (action/stop.php и action/start.php)
Реклама #
r2 10 лет назад #
My-InstantCMS.Ru 10 лет назад #
NeBox 10 лет назад #
Возникли вопросы.
- Почему файлы компонента не объединили в одной директории? Не удобно, что все они раскиданы.
- Файлы шаблона админки расположены в директории шаблона сайта. При переименовании или удалении невозможно будет попасть вообще на сайт и в админку в частности.
- Установщика компонентов нет. Т.е. залил я компонент, но без добавления компонента в БД я его в списках не увижу. Соответственно, либо давать файл с запросами, либо писать какой-то установщик...
Почему бы не реализовать более удобное управление? Класть в директорию компонента какой-то файл типа component.xml в котором будет его описание, и тогда уже инициализировать их в списке. Добавить кнопку Установить и соответственно какой-то файл install.php в котором уже будет класс установщика, где определить какой-то метод, например actionInstall в котором уже описать запросы к БД или что угодно, аналогично создать и actionUninstall(для удаления) и actionStatus(для включения\выключения). Это уже избавит юзера от лишних телодвижений.
имхо.
r2 10 лет назад #
2. Разные шаблоны сайта (темы) могут иметь разные дизайны админки. Поэтому шаблоны админки - это часть темы, а не компонента.
3. Кто сказал что установщика компонентов нет? Про него я еще не рассказывал.
NeBox 10 лет назад #
Просто не привычно как-то, что не в одном месте все.
2 - Я понял, что можно менять шаблон админки. Просто не понятно зачем)
3 - Вы про установщик admin/install или какой-то другой?
r2 10 лет назад #
Также, шаблоны это не только .tpl.php, это еще css и картинки, т.е. статика. И статику в ряде случаев гораздо предпочтительнее иметь в одном общем месте, чем размазанной по папке system, где должен быть только рабочий код. Теоретически, данный подход может вообще позволить вынести папку system за пределы document root, что очень полезно для безопасности. Так что в этой папке не должно быть никаких файлов, доступных извне. И в ней уже сейчас лежит .htaccess с Deny From All внутри.
Да и вообще, я не вижу никаких особых проблем в том, чтобы один раз открыть файлы шаблонов в редакторе. Потом с ними спокойно работаешь просто переключаясь между вкладками.
2. Задачи бывают разные.
3. Да, про него. В 2.0 нет кучи разных установщиков. Есть один, который умеет все. Как с ним работать я расскажу в отдельном видео.
NeBox 10 лет назад #
1 - согласен.
r2 10 лет назад #
Сейчас установка всех дополнений должна происходить через админку.
Пользователю удобнее выбрать zip-файл в админке, чем самому распихивать файлы по папкам.
NeBox 10 лет назад #
Как в wp реализовано, сразу с сайта icms
Dublic 10 лет назад #
NeBox 10 лет назад #
Я что, просил написать установщик? Я задавал вопросы - зачем и почему.
Мне, как разработчику, например, многое не понятно в логике реализации некоторого функционала. Я бы делал иначе, по этому и решил спросить.
My-InstantCMS.Ru 10 лет назад #
r2 10 лет назад #
Kreator 10 лет назад #
Если не жалко - выложите исходники.
Я конечно понимаю, что если самому все с 0 собрать - то в голове больше отложится, но по временным соображениям не представляю когда это случится ...
Спасибо.
imprint 10 лет назад #
imprint 10 лет назад #
maxisoft 10 лет назад #
Единственный вопрос который меня немного терзает, это какие были причины, для разделения в форме полей items и generator ?
Логичнее было бы иметь одну точку входа items и сделать просто проверку на тип значения, массив или функция. Или я что то упустил?
r2 10 лет назад #
My-InstantCMS.Ru 10 лет назад #
Крот 10 лет назад #
r2 10 лет назад #
lokanaft 10 лет назад #
maxisoft 10 лет назад #
lokanaft 10 лет назад #
maxisoft 10 лет назад #
Крот 10 лет назад #
а) удалить строку из таблицы(статью например) и триггером удалить все связанное с ним (комменты, голоса и т.п.)
б) откатить добавление из других таблиц - если вдруг нашлась ошибка и т.п.
2) innodb быстрее пишет, myisam - быстрее читает - у меня записи к чтению 1 к 20 максимум. у других думаю аналогично
в myisam будет все быстрее работать
3) foreign keys тоже нет - см. п.1
4) innodb надежнее - у вас БД часто падало? - у меня ни разу - пока сам не уронил)
5) в innodb нет fullsearch index - пока ничего не могу сказать
6) innodb - более новая система - это да, не поспоришь
получается причина №6 (и наверное 5)
еще может быть причиной то, что innodb блокирует только строку в таблице, а не всю таблицу - но это какая посещаемость должна быть, что бы этим пользоваться
lokanaft 10 лет назад #
maxisoft 10 лет назад #
Крот 10 лет назад #
и в нем
$items = $content_model->getSubCategoriesTree($ctype['name'], $parent_id);
ну и на фронте
jquery.dynatree в datatree.js
maxisoft 10 лет назад #
r2 10 лет назад #
их реализацию можно посмотреть в /core/classes/model.php
из кода станет понятно как их использовать (с какими аргументами вызывать)
maxisoft 10 лет назад #
Скорпион 10 лет назад #
И эту часть учебника я таки одолел.
Если сказать что данные видео-уроки супер - это значить ничего не сказать. По мне, в таком виде лучше воспринимается материал, чем сухой текст в документации. А допускаемые уважаемым r2 ошибки, не только не мешают, а наоборот помогают понять как их искать и справлять.
Вообщем сейчас сяду за "урок по инсталлятору", хотя бегло я его уже просмотрел.
А по данному уроку есть вопросец.
Я правильно понял (причем этого нет даже в выложенных исходниках урока), что не были реализованы следующие функции для назначенного админа фотобитвы:
- удаление фотографии (action/photo_delete.php);
- запуск и остановка модерируемой фотобитвы (action/stop.php и action/start.php)