Новости Joomla

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

Вообщем господа, нужно мне рассказать про одни грабли найденные при установке Mosets tree 2.0:

Грабли № 1.

вообщем при отображении списка из 50 товаров в категории используются следующие ресурсы:
Generation time:1.148252 sec.135 queries executed

А если выключить AkoComment bot, то:
Generation time:0.8796639 sec.33 queries executed

Mosets tree действительно мощная штука в нем в частности внедрена думаю что достаточно серьезная поддержка триггеров. Поэтому при генерации списка товаров в категории загружаются установленные боты.

И почему-то Ако бот пытается, что-то найти для каждого товара:
Код
SELECT id
 FROM kamaz_menu
 WHERE type = 'content_typed'
 AND componentid = 2802363

SELECT hits FROM kamaz_content WHERE id = '28023'

Решение:

Я не стал глубоко лазить, чтобы понять что и зачем он хочет найти, просто сделал так:
в фаиле mambots\content\akocommentbot.php
Код
function botAkoComment( $published, &$row, &$params, $page=0 ) {

// lms
 if ($_REQUEST['option']=='com_mtree') {
  return;
  }
// lms

и снова получаем необходимые 33 запроса.

ЗЫ
Smart, я бы мог поюзать Jcomment - на предмет подобных граблей :-)
(даю гарантию, что никуда он не уйдет)


Грабли № 2.

Опытом доказано, что яша ставит ниже страницы со ссылками вида
Код
/component/option,com_mtree/task,listcats/cat_id,1433/Itemid,37/
чем
Код
/catalog-37.html

OpenSef вообще не умеет работать с Mtree
Вот что получается при установке Artio JoomSEF:

Код
[b]Generation time:1.2738819 sec.106 queries executed[/b]

Решение №1:

Включение стандартного кэша сделало чудо:
Код
Generation time:0.3940439 sec.28 queries executed

Решение №2:
еще можно извратиться, и
   - не показывать форму авторизации в каталоге
   - немного подправить Jre_cache, чтобы он кэшировал только каталог (это оказалось не так просто :-) ):

Код
if ($jrecache_config->getCfg('enable_cache') == "0" ){
$bypass_cache= true;

if ( $is_debug ) {
$debug_out = "<br/>Cache is disabled";
}
} else {
[b]// lms
if (strpos($_SERVER['REQUEST_URI'],"catalog")==0) {
$bypass_cache = true;
// if it is NOT catalog -  you should bypass cache
} else {
// lms[/b]
$bypass_cache = false;
$cache_TTL = $jrecache_config->getCfg('cache_TTL');
}
}
      - установить время жизни кэша в Jre_cache например на неделю (чтобы на всякий случай все равно обновлялось хоть иногда)
      - Скорость тогда - просто заглядение - запросов 0 !!!!

Грабли № 3.

Нормальный перевод так и не нашел.
Пришлось перетащить новые константы в язык от версии 1.5.9 :-)



ЗЫ чем все это закончится напишу здесь :-)
« Последнее редактирование: 19.09.2007, 18:18:48 от lordmikle »

Грабли №4

Не работает модуль поиска.

Вот здесь есть рекоментация для версии 1.5.9:
http://joomlaforum.ru/index.php/topic,17169.0.html

для 2.0 она подходит только в сочетании с тем, что нужно изменить сам код поискового запроса в mtree.php:

Код
$sql = "SELECT DISTINCT l.link_id, l.*, u.username, c.*, img.img_id FROM (#__mt_links AS l, #__mt_cl AS cl";
if($searchable_custom_fields_count > 0) {
$sql .= ", #__mt_cfvalues AS cfv, #__mt_customfields AS cf";
}
$sql .= ")"
. "\n LEFT JOIN #__mt_images AS img ON img.link_id = l.link_id AND img.ordering = 1 "
. "\n LEFT JOIN #__mt_cats AS c ON c.cat_id = cl.cat_id "
. "\n LEFT JOIN #__users AS u ON u.id = l.user_id "
. "\n WHERE "
. "link_published='1' AND link_approved='1' AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now'  ) AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )"
. "\n AND cl.link_id = l.link_id "
. "\n AND cl.main = 1 ";
if($searchable_custom_fields_count > 0) {
$sql .= "\n AND cfv.link_id = l.link_id "
. "\n AND cfv.cf_id = cf.cf_id ";
}
$sql .= "\n AND ".$where
. ( (!empty($only_subcats_sql)) ? $only_subcats_sql : '' )
. "\n ORDER BY " . $mtconf->get('first_search_order1') . ' ' . $mtconf->get('first_search_order2') . ', ' . $mtconf->get('second_search_order1') . ' ' . $mtconf->get('second_search_order2')
. "\n LIMIT $limitstart, " . $mtconf->get('fe_num_of_searchresults');
*/


на

Код
$sql = "SELECT DISTINCT l.link_id, l.*, c.* FROM (#__mt_links AS l, #__mt_cl AS cl) "
/* if($searchable_custom_fields_count > 0) {
$sql .= ", #__mt_cfvalues AS cfv, #__mt_customfields AS cf";
}
$sql .= ")"*/
// . "\n LEFT JOIN #__mt_images AS img ON img.link_id = l.link_id AND img.ordering = 1 "
. "\n LEFT JOIN #__mt_cats AS c ON c.cat_id = cl.cat_id "
// . "\n LEFT JOIN #__users AS u ON u.id = l.user_id "
. "\n WHERE "
. "link_published='1' AND link_approved='1' AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now'  ) AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )"
. "\n AND cl.link_id = l.link_id "
. "\n AND cl.main = 1 ";
/*if($searchable_custom_fields_count > 0) {
$sql .= "\n AND cfv.link_id = l.link_id "
. "\n AND cfv.cf_id = cf.cf_id ";
}*/
$sql .= "\n AND ".$where
. ( (!empty($only_subcats_sql)) ? $only_subcats_sql : '' )
. "\n ORDER BY " . $mtconf->get('first_search_order1') . ' ' . $mtconf->get('first_search_order2') . ', ' . $mtconf->get('second_search_order1') . ' ' . $mtconf->get('second_search_order2')
. "\n LIMIT $limitstart, " . $mtconf->get('fe_num_of_searchresults');

и еще закоментировать здесь:

Код
/*if($searchable_custom_fields_count > 0) {
$wheres0[] = "\n" .' (cf.hidden = 0 AND cf.simple_search = 1 AND cf.published = 1 AND LOWER(cfv.value) LIKE \'%' . $word . '%\')';
}*/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Mosets Tree router Баг

Автор kulikov

Ответов: 3
Просмотров: 1517
Последний ответ 18.06.2024, 08:39:19
от sivers
Удалить материал в Mosets Tree

Автор avtomastersu

Ответов: 0
Просмотров: 2283
Последний ответ 19.03.2023, 17:44:40
от avtomastersu
Интеграция JComments 4 в каталог Mosets Tree 4.0

Автор avtomastersu

Ответов: 3
Просмотров: 2529
Последний ответ 23.02.2023, 13:36:18
от avtomastersu
Как вытащить из базы статьи Mosets Tree?

Автор gorbi_U

Ответов: 10
Просмотров: 2918
Последний ответ 28.02.2021, 13:37:16
от IToro82
AlphaUserPoints и Mosets Tree

Автор polattt

Ответов: 0
Просмотров: 3747
Последний ответ 22.01.2017, 20:24:58
от polattt