Narochnyi

Narochnyi

+71
Репутация
416
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Не работает Роутинг в iCMS 2.9.0 12 марта 2018 в 20:10
Ну так что, может кто-нибудь из разработчиков подскажет??
#2 [ЕСТЬ РЕШЕНИЕ] Не работает Роутинг в iCMS 2.9.0 12 марта 2018 в 10:47
  1. public function route($uri){
  2.  
  3. $core = cmsCore::getInstance();
  4.  
  5. $action_name = $this->parseRoute($core->uri);
  6.  
  7. if (!$action_name) { cmsCore::error404(); }
  8.  
  9. $this->runAction($action_name);
  10.  
  11. }
  12.  
  13. public function parseRoute($uri){
  14.  
  15. $config = cmsConfig::getInstance();
  16.  
  17. $action_name = parent::parseRoute($uri);
  18.  
  19. if (!$action_name && $config->ctype_default){
  20. $action_name = parent::parseRoute($config->ctype_default . '/' . $uri);
  21. }
  22.  
  23. return $action_name;
  24.  
  25. }
#3 [ЕСТЬ РЕШЕНИЕ] Не работает Роутинг в iCMS 2.9.0 12 марта 2018 в 10:43

а методы route и parseRoute задали в своем компоненте?

Zau4man

Да, конечно это всё сделано, говорю же, на iCMS 2.7.1 всё работает
#1 [ЕСТЬ РЕШЕНИЕ] Не работает Роутинг в iCMS 2.9.0 11 марта 2018 в 20:42
Привет, всем!

Заметил что в iCMS 2.9.0 не работает роутинг, создаю файл routes.php в него добавляю следующий код:
  1. function routes_test(){
  2.  
  3. return array(
  4.  
  5. 'pattern' => '/^([a-z0-9\-_]+)\/test$/i',
  6. 'action' => 'action_name',
  7. 1 => 'ctype_name',
  8. ),
  9.  
  10. );
  11.  
  12. }
  13.  
Но, переопределение не происходит, хотя на iCMS 2.7.1 такой метод работает. Подскажите из-за чего такое может быть и как всё таки сделать задуманное?
#4 Вывод "дочек" в списке контента 2 марта 2018 в 12:30
На странице выводиться по 15 записей, если в хуке в цикле делать к каждой записи запрос с выборкой?? Что в плане нормализации????
#1 Вывод "дочек" в списке контента 2 марта 2018 в 12:07
Всем привет.

Есть два типа контента А и В, которые работают в связях. Есть необходимость вывести дочерние записи в списке контента В. То есть на странице просмотра записей типа контента А, нужно вывести у каждой записи дочерние записи. (сильно не ругайтесь, сам голову сломал пока писал текст, но думаю что понятно).

Через хук перебором массива получается вывести, но как-то не комильфо!

Пробовал приджойнить, не получается. У кого какие мысли есть?
#1 Получение количества пиров и сидов у торрента-файла 27 февраля 2018 в 10:58
Привет, всем!

Перерыл достаточно много литературы, даже нашел некоторые вроде бы готовые решения для получения сидов/пиров, но в итоге ничего не выходит.

Начну по порядку!

Цель: загрузить торрент файл на сервер и вывести информацию о нем:
1. Хеш-сумму
2. Название
3. Размер
4.Количество пиров/сидов

Первые 3 пункта выполнены, с помощью библиотеки "BDecode".

Что касается 4 пункта:

Знаю что нужно отправить GET запрос к анонсеру (кстати его тоже удается получить из файла, например: udp://tracker.openbittorrent.com:80/announce) и передать хеш-сумму закодированную через:
  1. urlencode( pack('H*', 'хеш' ) );
после чего полученные данные нужно так же раскодировать, но вот тут и заключается проблема, все решения которые я нашел в сети, выдают ошибку.

Где что можно ещё почитать об этом, желательно на русском или может есть что-то подходящее?

И на какой URL делать запрос (udp://tracker.openbittorrent.com:80/announce) — что-то сомнения?
#5 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 20:19

их можно запихать в переменную(пусть даже массива) и потом сделать поиск массива в базе, потом и выводите нужные вам ссылки.
SELECT * FROM FIOLINK WHERE fio IN ('$fiotext')";

kirkr
Спасибо за помощь, +1 в карму, тема закрыта!

p.s. время загрузки опимизированно!
#6 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 20:07
Всё, нашел ошибку, там ещё пробел был после запятой. Сейчас все докручу и отпишусь!
#7 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 20:05

SELECT * FROM FIOLINK WHERE fio IN ('$fiotext')";

kirkr

Сделал такой запрос, возвращает только первое совпадение
#8 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 19:50

т.е. вы генерируете по 1400 запросов в базу? сверяя все фио или что?

kirkr
Запрос всего один, получаю весь список и сохраняю в переменную!

SELECT * FROM FIOLINK WHERE fio IN ('$fiotext')";

kirkr
Попробую, позже отпишусь!
#9 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 19:30

а зачем вам получать всю таблицу? с какой целью то?

kirkr
Потому что на странице много имен и их нужно все проверить на соответствие в этой большой таблице!
#10 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 19:07
И всё таки я думаю что как-то я не оптимизированно делаю это! Давайте вкратце расскажу то, что хочу сделать!

На странице с записью типа контента есть список имен и фамилий (в дальнейшем ИФ) перечисленных через запятую, мне нужно чтобы ИФ становились ссылками, на соответствующие страницы в другом типе контента. Во-втором типе 12000 записей (и будет увеличиваться примерно до 150 000). В хуке я получаю всю эту таблицу get-запросом, и в цикле функцией str_ireplace меняю то, что мне необходимо. Но уже на этапе получения всей таблицы время загрузки страницы меняется например с 0.0275 на 0.3069.

Подскажите, если какой-то другой способ сделать нужное?
Если есть дополнительные вопросы задавайте!
#11 Как добавить изображение категории? 26 февраля 2018 в 08:43


Всем привет.
Может кто-то сталкивался, как добавить изображение категории?
Есть старые разработки но вносить правки в системные файлы не хочется, совсем не хочется, плюс его переделывать под сегодняшнюю версию движка, это опять время.

Василич

Что мешает создать хук для форм категорий и добавить поле с изображением
#12 [ЕСТЬ РЕШЕНИЕ] Как работать с большой БД? 26 февраля 2018 в 08:37

на какой версии cms?

@ivanpolyakov
Речь идет о второй, если я правильно прочитал ветку)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.