Как это не сделать? Разделяешь страницы на типы (Вьюшки), там же вставляешь скрипты и стили для этих страниц. Разве нет?
Я к этом всегда стремлюсь и делаю штатными средствами php
Вот это я открыл ящик пандоры ))) и устроил знатный срач )))).
P.S. Aisamiery за cahs спасибо, вроде бы это идеально для меня. Если я правильно понял, повторяет почти весь функционал кверти, синтаксис тот же, но весит в 5 раз меньше!! Идеально для простых сайтов!
Что-то не работает...
Сделал так
#раз в минуту (каждую минуту кроме с 3 до 4 ночи)* 0-3,4-23 * * * cd /var/www/html && python3 main.py > /dev/null 2>&1
А вот лог крона
Jan 17 02:53:01 vps CROND[3109]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 02:54:02 vps CROND[3122]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 02:55:01 vps CROND[3134]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 02:56:01 vps CROND[3146]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 02:57:01 vps CROND[3159]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 02:58:01 vps CROND[3172]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 02:59:01 vps CROND[3184]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:00:01 vps CROND[3198]: (root) CMD (cd /var/www/html && php background.php > /dev/null 2>&1)Jan 17 03:00:01 vps CROND[3199]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:01:01 vps CROND[3216]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:01:01 vps CROND[3217]: (root) CMD (run-parts /etc/cron.hourly)Jan 17 03:01:01 vps run-parts(/etc/cron.hourly)[3217]: starting 0anacronJan 17 03:01:01 vps anacron[3227]: Anacron started on 2023-01-17Jan 17 03:01:01 vps run-parts(/etc/cron.hourly)[3229]: finished 0anacronJan 17 03:01:01 vps anacron[3227]: Will run job `cron.daily' in 45 min.Jan 17 03:01:01 vps anacron[3227]: Jobs will be executed sequentiallyJan 17 03:02:01 vps CROND[3240]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:02:01 vps CROND[3241]: (root) CMD (cd /var/www/html && python3 repeat_month.py > /dev/null 2>&1)Jan 17 03:03:01 vps CROND[3327]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:04:01 vps CROND[3338]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:05:01 vps CROND[3421]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:06:01 vps CROND[3432]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:07:01 vps CROND[3443]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:08:01 vps CROND[3523]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)Jan 17 03:09:01 vps CROND[3534]: (root) CMD (cd /var/www/html && python3 main.py > /dev/null 2>&1)
Вы видели как ваше меню "прыгает" при прокрутке? Ужас ведь
пробовал, ошибки те же
мизерный. Я переезд отложил, слишком много переписывать. Не вижу смысла пока
Я продвинулся немного дальше.
В общем в файле модели, в которм прописана логика сохранения/редактирования класс называется
VuzModelItem
в нем же в этом же файле есть метод
store()
который отвечает за кохранение, в нем и был вызов
getTable()
который вызывал ошибку, в сети нашел что в него нужно явно передать название класса, что я и сделал так
$row = &$this->getTable('Item', 'VuzModel');
в результате запрос прошел дальше внутри этого метода и споткнулся о bind() внутри этого же метода чуть ниже. Ошибка такая
Call to undefined method VuzModelItem::bind()/var/www/vuz/administrator/components/com_vuz/models/item.php:236
а вот весь код метода store(), вызов bind в нем же внизу...
Я посмотрел вывод $row - с виду выглядит как объект базы данных с названием VuzModelItem Object (данных много), но метода bind в нем реально нет. Данные передающиеся в $data для сохранения вполне правильные.
function store() { $row = &$this->getTable('Item', 'VuzModel'); $data = JRequest::get('post'); $fields = JRequest::getVar('fields', '', 'post', 'array', JREQUEST_ALLOWRAW); $statistics = JRequest::getVar('statistics', '', 'post', 'array', JREQUEST_ALLOWRAW); $data['text'] = JRequest::getVar('text', '', 'post', 'string', JREQUEST_ALLOWRAW); if(empty($data['name'])) { $this->setError($this->_db->getErrorMsg()); return false; }else{ if(empty($data['alias'])) { $data['alias'] = $this->transliterate($data['name']); } } if(!empty($fields)) { $this->setFields($fields); } if (!empty($statistics)) { $this->setStatistics($statistics); } if(!empty($data['images'])) { $this->setImages($data['images']); } if(!empty($data['city'])) { $data['city_alias'] = $this->transliterate($data['city']); } if(!empty($data['hideexam'])) { $data['hideexam'] = 1; }else{ $data['hideexam'] = 0; } if(empty($data['id'])) { $data['created'] = JHTML::_('date', time(), 'Y-m-d H:M:S'); } $data['modified'] = JHTML::_('date', time(), 'Y-m-d H:M:S'); if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->store()) { $this->setError( $row->getErrorMsg() ); return false; } return true; }
$row
там он значительно меньше и называется TableItem Object, но что самое интересное в нем так же нет упоминания bind и тем не менее
$row->bind($data)
на хостинге с PHP 7.4. возвращает 1 (единицу), хз откуда, но это факт.
откройте для себя awk, например сортировка по IP
awk '{print $1}' /var/log/nginx/site.log | sort | uniq -c | sort -nr | head -n 30