Новости Joomla

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста "Просто о Digital"Гость:🎙 Владимир Сергеенко ( https://t.me/aixman ) • Интернет-маркетолог с 14-летним опытом• Соавтор книги «Нетворкинг»• Спикер конференции Ассоциации директоров по развитиюВедущий:💻 Игорь Филипенко ( https://t.me/igorleee )• Программист и предприниматель с 16-летним опытом в digital• Основатель подкаста "Просто о Digital"• Специалист по автоматизации бизнес-процессовВ этом выпуске вы узнаете:🔥 Актуальность сайтов в эпоху нейросетей• Актуален ли сайт сейчас и будет ли актуален в будущем?• Зачем нужен сайт? Есть ли иные инструменты привлечения клиентов?🤖 Нейросети vs Поисковики vs Сайты• Почему нейросети не заменят сайты в B2B-сегменте• Как Google и Яндекс меняют алгоритмы из-за AI-конкуренции📊 Сайт как центр вселенной вашего трафика• Почему без сайта вы сливаете 40% маркетингового бюджета впустую?🛡 Безопасность и Joomla 6.0• Как отфильтровать 99% ботов и сэкономить на трафике• Почему Joomla теперь обходит WordPress в безопасности и скорости⚖️ Выбор платформы: битва CMS• WordPress: 50% рынка но 80% уязвимостей• Joomla: профессиональная CMS для сложных проектов• Drupal: почему его похоронили в 2023 году• Tilda: когда конструктор выгоднее CMSПриятного просмотра/прослушивания!RSS: https://cloud.mave.digital/61930Mave: https://igorfilipenko.mave.digitalЯндекс Музыка: https://music.yandex.ru/album/35840190Telegram Mave: https://t.me/mavestreambot/app?startapp=igorfilipenkoApple Podcasts: https://podcasts.apple.com/us/podcast/просто-о-digital-и-бизнесе/id1801903450ВКонтакте: https://vk.com/podcasts-12488584Youtube: https://www.youtube.com/playlist?list=PLfR6jTpnkohDDco32xZ-KyMyWi_S5Xdy2=========================Видео-формат подкаста:Rutube: https://rutube.ru/video/b5762754f9d3e0dc382f32f3034be0a2/Youtube: https://youtu.be/nu1XF2jNbxY#подкаст #podcast

0 Пользователей и 1 Гость просматривают эту тему.
  • 504 Ответов
  • 31697 Просмотров
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
В компоненте, в /tables/, каждое объявление JTable должно быть в своем файле, или их можно объединить в один? Если первое, как правильно, по mvc называть имена файлов?
Разный файл, для того что бы в модели получать через $this->getTable('tableName')
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
вау мега тема жива) Имя файла должно совпадать с именем класса в нижнем регистре без префикса. Классы именуются по правилам CamelCased, имя класса согласно конвенции должно cодержать префикс Table. Тоесть имя класса TableMytable, имя файла mytable.php.
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
вау мега тема жива)
атто? это еще надолго )))

Во вьюхе в админке выводит:
Warning: Invalid argument supplied for foreach() in \views\creditoffers\tmpl\default.php on line 106
в 106 строке:
<?php foreach ($this->items as $i => $item) : ?>
скопировано из соседней вьюхи, они однотипные, только вывод из разных таблиц, что это может быть?

class MFOTableMFOCreditOffers extends JTable - какое имя файла конкретно будет?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ступил, сори за шухер, очепятка в имени таблицы в конструкторе в JTable
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
TableMfoCreditOffers если имя файла mfocreditoffers.php
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
TableMfoCreditOffers если имя файла mfocreditoffers.php
Спс, так и обозвал.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Делаю подряд 2 запроса, в модели, админка:
Код: php
    $db = JFactory::getDbo();
    $db->setQuery('DELETE FROM #__mfo_credit_offers')->execute();
    $db->setQuery('ALTER TABLE #__mfo_credit_offers AUTO_INCREMENT = 0')->execute();
Данные удаляются, автоинкремент не сбрасывается, хотя в соседней модели все ок. Что это может быть?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Потому что AUTO_INCREMENT=1, записи начинаются с 1-цы, а не с нуля )
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Выяснил, что это из-за различного engine в таблицах базы. Если ENGINE=MyISAM, то автоинкремент сбрасывается, а если ENGINE=InnoDB (а при при создании таблиц во время установки компонента присваивается именно InnoDB), то не сбрасывается. Это как-то решается?

Потому что AUTO_INCREMENT=1, записи начинаются с 1-цы, а не с нуля )
Счетчик увеличивается непосредственно перед вставкой записи, поэтому при создании таблицы по умолчанию 0.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Вы правы, надо 1-цу для InnoDB, видимо, другой метод автоинкрементации используется.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Код: php
$db->setQuery('TRUNCATE TABLE #__mfo_credit_offers')->execute();
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
passer, правильно ли я понял, что truncate и удаляет все записи из таблицы и сбрасывает автоинкремент? независимо от engine?

upd
Убедился в правильности своего понимания :), вам +, спасибо!
« Последнее редактирование: 30.05.2014, 12:01:35 от AlekVolsk »
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
passer, правильно ли я понял, что truncate и удаляет все записи из таблицы и сбрасывает автоинкремент? независимо от engine?
Так и есть! И в контексте Joomla красивее написать так:
$db->truncateTable( '#__mfo_credit_offers' );
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
И в контексте Joomla красивее написать так:
$db->truncateTable( '#__mfo_credit_offers' );
Я даже описания этого найти сходу не смог, тоже +
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Здесь есть.

Цитировать
truncateTable($table)
Удаляет все ряды в таблице.
К переводчику: может не ряды - записи?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
К переводчику: может не ряды - записи?
Ну вообще-то в таблице rows, а не records. Наверное тогда лучше строки, так именно такой перевод чаще всего встречается для определения row.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Применительно к БД привычней записи.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Да, буквально - строки, логически - записи, но откуда взялись ряды :)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Дошел наконец-то до роутера.
Долго читал и изучал форум и http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/routing-v-joomla-jroute.
Вот что получилось:
Спойлер
[свернуть]

Поведение следующее. Пункт меню ссылается на index.php?option=com_mfo&view=loansc, алиас пункта меню credits.

Во вьюхе loansc по ссылке перехожу на вьюху documc: index.php?option=com_mfo&view=documc&loan=ЗВ-34/17.02.2014, url: /credits/documc.html?loan=ЗВ-34/17.02.2014, здесь вопросов нет. Пробовал также запихать в сегмент loan= , но во url тогда /credits/documc/ЗВ-34/17.02.2014.html, а значение loan нужно получать из реквеста, слэш в параметре мешается.

Во вьюхе documc по ссылке перехожу обратно во вьюху loanc, url: index.php??view=loans, однако при переходе вместо url /credits.html получаю url /credits/loansc.html

1. Как избавиться от loansc при переходе обратно: /credits/loansc.html=>/credits.html ? Отловить меню не понял как
2. что можно сделать со слэшем в loan=ЗВ-34/17.02.2014
« Последнее редактирование: 25.06.2014, 18:12:24 от AlekVolsk »
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
1. попробовать удалить строку  $segments[] = $query['view'];
2. пропустить через urlencode( 'ЗВ-34/17.02.2014' );
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
1. Не прокатывает:  во фронте тогда из loanc не формируется ссылка на /credits/documc.html?..., хотя если жестко в адресной прописываю /credits/documc.html?loan=ЗВ-34/17.02.2014, то обратно переходит нормально, на /credits.html. Возможно, как-то реально отловить алиас или полный урл конкретного пункта меню по id из $segments[] и делать редирект на него?

2. Не помогло, %2F браузером обратно в / преобразуется, отказался до того момента, когда найдется способ из одной вьюхи в другую не через реквест передавать...
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
замените / на обратный слеш \ может так прокатит
Смотрите как я обычно делаю!
Строю роутер:
Код: php
function NewsBuildRoute( &$query )
{
$segments = array();
if ( isset( $query['view'] ) ) {
unset( $query['view'] );
}
if ( isset( $query['id'] ) ) {
$segments[] = $query['id'];
unset( $query['id'] );
}
return $segments;
}

Парсю:
Код: php
function NewsParseRoute( $segments )
{
$vars = array();
$count = count( $segments );
$menu = JMenu::getInstance( 'site' )->getActive();
$view = isset( $menu->query['view'] )? $menu->query['view'] : '';
if ( $view === 'articles' ) {
$vars['view'] = 'articles';
$vars['id'] = $segments[0];
return $vars;
}
if ( $view === 'tags' ) {
$vars['view'] = 'tags';
$vars['id'] = $segments[0];
return $vars;
}
}
Главная особенность в том что для видов articles и для вида tags должны быть созданы пункты меню в менеджере меню!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
id - такого у меня нет вообще, не используется, всесто этого loan - содержит № договора из списка договоров loansc, в documc - подробная информация о договоре со списком операций по договору. Значение loan берется из базы и содержит в себе символ слэша, иногда более одного, также встречается знак равенства.
Если понял правильно, в моем случае при парсинге достаточно:
Код: php
	if ( $view === 'loansc' ) {
$vars['view'] = 'credits';
return $vars;
}
?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Поскольку компонент для дальнейшего распространения среди клиентов конторы, создавать скрытое меню на дочерние вьюхи не вариант - клиенты это делать просто не будут.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А еще такая фигня: в documc фильтр (тот, что выше обсуждался), при его применении/сбросе в адресной вместо /credits/documc.html?loan=ЗВ-34/17.02.2014 наблюдается /credits.html?option=com_mfo&view=documc&loan=ЗВ-34%2F17.02.2014&dtfrom=17.02.2014&dtto=07.04.2014 - здесь почему-то %2F в слэш не преобразуется (потому что в параметре?), и непонятно, откуда берется option=com_mfo&view=documc
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Поскольку компонент для дальнейшего распространения среди клиентов конторы, создавать скрытое меню на дочерние вьюхи не вариант - клиенты это делать просто не будут.
Всегда можно при установке сделать что бы и менюхи создались!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Всегда можно при установке сделать что бы и менюхи создались!

А какие к ним ссылки прикручивать? url формируется динамически, из-за loan
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
А какие к ним ссылки прикручивать? url формируется динамически, из-за loan
Динамически у вас формируется определенная же часть ссылки!
а index.php?option=com_mfo&view=view_name у вас же будет формироваться в любом случае, вот для таких случаев можно и создать дополнительное меню и в нем посоздавать нужные пункты меню с псевдонимами для нужных ссылок!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Хорошо, хотя нет гарантии. что клиент потом не убъет это меню или не опубликует в модуль.
А что можно делать с
в documc фильтр (тот, что выше обсуждался), при его применении/сбросе в адресной вместо /credits/documc.html?loan=ЗВ-34/17.02.2014 наблюдается /credits.html?option=com_mfo&view=documc&loan=ЗВ-34%2F17.02.2014&dtfrom=17.02.2014&dtto=07.04.2014 - здесь почему-то %2F в слэш не преобразуется (потому что в параметре?), и непонятно, откуда берется option=com_mfo&view=documc
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться