Скрипт Tamaranga DO [ Обсуждение ] [Вопрос-Ответ] [Доработки] [Идеи] - Общая тема

Пришло ли время снизить хайд для загрузки сборки?


  • Всего проголосовало
    30
  • Опрос закрыт .
Приведите в порядок ваш пост. Вставьте фото. В решении вашей проблемы вам надо разобраться как вы формируете ссылку в шаблоне показа, если это делали вы, или обратится к тому кто так криво сделал вам. Всё это мелочи доработок, которые вы запихиваете в код и потом пытаетесь решить вопрос за счёт других. Как вы формируете ссылку? Вот стандартно выбираем из БД , при этом я добавил в выборку данные из которых слеплю ссылку, обрабатываем и показываем пользователю.
Приветствую. А ссылку вы формируете бутербродом, site.static и keyword с прослойкой search?
 
Здравствуйте у меня возникла проблема с отображением фотографий в поиске за место фото там ссылки
куда ещё рыть проверил sys.php там всё настроено верно если вбиваю в браузер свой домен с путём до фото всё работает а ссылку формирует не правильно со старым доменом а мне нужно чтоб формировал с новым доменом дело было в том что я переименовал сайт естественно я изменял домен но повторяю SYS.PHP там я указал свой домен и в само ядро где формирует ссылки я не Залазил
ИЗОБРАЖЕНИЕ Я ПРИЛОЖИЛ
<-------------- добавлено через 2134 сек. -------------->

однако я не настолько глуп чтобы кеш не почистить или не зайти с другого устройства
пожалуйста если вы не хотите дать конкретный ответ не пишите то что школьник знает и не набивайте себе сообщения за зря
<-------------- добавлено через 768 сек. -------------->


я знаю функция кэширует информацию об определенных файлах поэтому имеет смысл вызывать clearstatcache только в том случае если
я совершал несколько операция почему вы понять не можете это элементарно но это НЕ помогло я включал параметр clear_realpath_cache
<-------------- добавлено через 430 сек. -------------->

Это действие я исполнил два дня назад Это не Помогло так что учите ассемблер
<-------------- добавлено через 2645 сек. -------------->

Результата 0 первым делом я полез в базу смотреть все свои старые ссылки прейдётся всё перизалить но что самое интересное я обнаружил в базе не весь список объявлений точнее не все ссылки для фото получается ссылок меньше чем объявлений
<-------------- добавлено через 3004 сек. -------------->

Вот код отслеживания пользователя для значка online или offline вы спрашивали каким я образом отслеживаю но он работает не правильно потому что пока не выйдешь из самого движка он показывает ofline а нужно чтоб user когда закрыл браузер он показывал offline а тут наоборот как осуществить
<? if(($user['session_id'])) {?><i class="greenFlag">&nbsp;</i><span class="f11"><i class="fa fa-circle" aria-hidden="true" style="color: #87ea39;"></i> Online</span><? } else {?><i class="orangeFlag">&nbsp;</i><span class="f11"><i class="fa fa-circle" aria-hidden="true"></i> Был на сайте: <?= tpl::date_format3($user['last_login']); ?></span><?}?>
Если сброс кэша не исправил ситуацию, то значит ссылка на превью не формируется как ссылка на фото в самом объявление, не происходит склейка использую настройку файла настроек с указанным доменом, а ссылка хранится уже в собранном состоянии. Когда вы сохраняете объявление сохраняется и склеенная ссылка на превью. Куда она сохраняется, естественно в базу. Открываете базу и правите вручную bff_bbs_items столбцы img_m и img_s. И не надо обижаться, вы сами выбрали такой тон.

Это точно там. Ссылка туда сохраняется склеенная SITEURL_STATIC . '/files/images/' Из за этого при изменении домена из базы ссылка на превью берётся со старым доменом. Это надо изначально править в масштабе скрипта или при переносе потом вручную исправлять ссылки в базе.
 
Последнее редактирование:
Вот код отслеживания пользователя для значка online или offline вы спрашивали каким я образом отслеживаю но он работает не правильно потому что пока не выйдешь из самого движка он показывает ofline а нужно чтоб user когда закрыл браузер он показывал offline а тут наоборот как осуществить
<? if(($user['session_id'])) {?><i class="greenFlag">&nbsp;</i><span class="f11"><i class="fa fa-circle" aria-hidden="true" style="color: #87ea39;"></i> Online</span><? } else {?><i class="orangeFlag">&nbsp;</i><span class="f11"><i class="fa fa-circle" aria-hidden="true"></i> Был на сайте: <?= tpl::date_format3($user['last_login']); ?></span><?}?>
И что мне за вас его дописать!? Что написали, то ваш код и делает. Хорошо вы решили наступить на грабли и решили отслеживать закрытие пользователем страницы или браузера, где код которым вы пытались это сделать?

Это точно там. Ссылка туда сохраняется склеенная SITEURL_STATIC . '/files/images/' Из за этого при изменении домена из базы ссылка на превью берётся со старым доменом. Это надо изначально править в масштабе скрипта или при переносе потом вручную исправлять ссылки в базе.
Всё верно, и не только в эту таблицу так записывает. Как вариант, если это конечно надо кому, переписать на сохранение без склейки /files/images/ , а клеить выбранное.
 
Последнее редактирование:
Зд. как можно как такинадо регион

Спасибо
Либо пишите свой код, как видите вы, если на ява языком воротите. Или открываете код и забираете на указанном вами сайте или на демо у тамары. Учить работать с кодом надеюсь не надо, логика работы у кода простая и просматривается визуально.
Ребята подскажите как решен вопрос с импортом
Вроди бы все делается правильно обьявления через админку импортируются
и выдает в админке Для просмотра ссылки Войди или Зарегистрируйся но что с этим дальше делать
обьявления не появляются на страницах. Что нажимать дальше не понятно
кто знает помогите
В административной панели вы задаёте задачу для импорта. Сам импорт происходит по команде подвешенной на cron. Крон команды в файле \install\crontab.txt
Код:
9) импорт обьявлений
*/10 * * * * /usr/bin/php -q /path/to/public_html/index.php bff=cron s=bbs ev=itemsCronImport
*/10 * * * * /usr/bin/wget -o /dev/null 'http://example.com/index.php?bff=cron&s=bbs&ev=itemsCronImport'
 
Последнее редактирование:
Друзья, 2 недели рыл все ветки нашего форума на предмет ответа. Говорю с уверенностью - данный вопрос не поднимался.
Формулирую: тамара не разбивает sitemap на sitemap1, sitemap2 и тд, если объявлений больше 50000 (как просит, например Яндекс).
Почему я считаю, что этот вопрос не поднимался здесь:
1) Решение, которое выложено Bosssaite Для просмотра ссылки Войди или Зарегистрируйся - не работает. Файлы корректно заменил - не работает. Sitemap у меня создается одним файлом, который более 10Мб (у меня сейчас 55000 объявлений на сайте). Соответственно Яндекс вебмастер ругается на sitemap.
2) Ошибок cron не выдаёт. Запускаю верно. Файлы где положено.
/index.php?bff=cron&s=site&ev=cronSitemapXML
Запускаю и в браузере, и на сервере. Все ошибки читал, они Для просмотра ссылки Войди или Зарегистрируйся. У меня таких нет.
3) Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся обсуждали проблему с buildIterator Для просмотра ссылки Войди или Зарегистрируйся. У меня этой функции нет. Всё как у всех - функция build. 88 строка добавлена, как и под хайдом в том же #51 посте.

У меня версия тамары 2.2.

Стал разбираться в файле sitemap.php. Наковырял следующее. В следующем фрагменте кода у меня не уходит обработка в цикл if, т.к. sizeof($data) по факту =1. $limit стоит 50000. Соответственно, есть мысль, что здесь должно быть что-то иное, нежели sizeof($data). Т.к. подозреваю, что здесь должно быть кол-во страниц, пробовал вытащить общее кол-во значений многомерного массива $data.
Но count($data, 1) - не то. Результат =1.
Вот фрагмент моего кода из sitemap.php. Уважаемые гуру, у кого создаётся многофайловая карта, подскажите, у вас такой же фрагмент кода? И может быть я заблуждаюсь, и проблема вовсе не здесь? Буду очень признателен за помощь.
public function build(&$data, $filename, $path, $url, $gzip = true)
{
if (sizeof($data) > $this->limit) {
$dataChunks = array_chunk($data, $this->limit, true);
unset($data);
$i = 1;
$indexData = array();
foreach ($dataChunks as $k => $data) {
$file = $filename . ($i++) . '.xml';
$indexData[] = $this->_buildSitemap($data, $path, $file, $gzip);
unset($dataChunks[$k]);
}

return $this->_buildSitemapIndex($indexData, $path . $filename . '_index.xml', $url);
} else {
return $this->_buildSitemap($data, $path, $filename . '.xml', $gzip);
}
}
 
Стал разбираться в файле sitemap.php. Наковырял следующее. В следующем фрагменте кода у меня не уходит обработка в цикл if, т.к. sizeof($data) по факту =1. $limit стоит 50000. Соответственно, есть мысль, что здесь должно быть что-то иное, нежели sizeof($data). Т.к. подозреваю, что здесь должно быть кол-во страниц, пробовал вытащить общее кол-во значений многомерного массива $data.
Но count($data, 1) - не то. Результат =1.
Вам надо просто понять следующее, та сборка нулл 2.2 ходящая по сети, это бутерброд собранный из всех версий. Это как раз есть как пишите вы "Запускаю и в браузере, и на сервере. Все ошибки читал, они Для просмотра ссылки Войди или Зарегистрируйся. У меня таких нет.", есть как раз то, что выделено жирным и крупно, оно и есть. То что вы имеете на руках, это новые переписанные методы из 2.2 в файлах класса и раскодированный файл sitemap от ранней версии 2.1. Поэтому у вас три варианта.
1. Полностью переписать код под свои задачи. Это наверное единственное правильное решение, лично мне логика не понравилась и я переписал под себя.
2. Основываясь на уже написанном свежем коде от тамары, переписать sitemap под этот код. Как раз ваше , наковырял, не уходит, подозреваю и т.д. и т.п. А что там подозревать то, стоит посмотреть, что вообще приходит в массиве. Как вы из этого, что то достать хотите. В переписанных методах всё реализовано по другому и общее количество через метод забирается. Так же не забывайте, что при включенных посадочных. их тоже надо писать в карту, учтите это при написании.
3. Использовать обратное, переписать новое старым от 2.1. Это было рекомендовано мной ещё год назад. Версии от барыг как раз имеют это решение.
 
Последнее редактирование:
Не удаляются объявления с просроченным сроком публикации(будут удаляться объявления у которых срок истек и прошло bbs.delete.timeout дней)
Метод который это делает: index.php?bff=cron&s=bbs&ev=itemsCronStatus

Решение:
Код:
в файле
\modules\bbs\bbs.model.php
строка 1351:
WHERE deleted > 0 AND status = :status AND publicated_to < :date
заменить на:
WHERE status = :status AND publicated_to < :date
 
Последнее редактирование:
Не удаляются объявления с просроченным сроком публикации(+ кол-во дней в конфиге)
Команда которая это делает: index.php?bff=cron&s=bbs&ev=itemsCronStatus

PHP:
Решение:
в файле
\modules\bbs\bbs.model.php
строка 1351:
WHERE deleted > 0 AND status = :status AND publicated_to < :date
заменить на:
WHERE status = :status AND publicated_to < :date
Вы сначала вникните, для чего нужны методы itemsCronStatus и itemsCronDelete описание первого есть в мурзилке и оба описаны в комментариях к методам в указанном вами файле. Перечитайте!
Код:
2) объявления: снятие с публикации, пересчет счетчиков ОБ в категориях(типах)
  /**
     * Актуализация статуса объявлений (cron)
     * Рекомендуемый период: раз в 10 минут
     */

    /**
     * Полное удаление удаленных пользователем объявлений через X дней после окончания публикации
     */
С чего вы взяли, что код должен удалять объявления снятые с публикации пользователем и завершенные по срокам, только наверное вам понятно. Комична ситуация, когда у пользователя закончился срок публикации и он решил после работы вашего кода продлить его. Ваша поддержка сломает пальцы объяснять пользователям почему ваш мозг решил удалять не только то, что пользователь удалил сам, но и то, что он временно снял с публикации или то, что не было продано и закончилось по сроку.

P.S. Для размещения кода в пост пользуйтесь для вставки инструментом ВСТАВИТЬ или помещайте код в специальный тег, в квадратных скобках PHP или CODE.
 
Вы сначала вникните, для чего нужны методы itemsCronStatus и itemsCronDelete описание первого есть в мурзилке и оба описаны в комментариях к методам в указанном вами файле. Перечитайте!
Вы сначала сами код посмотрите, а потом рассказывайте всем что там делается...
В файле bbs.model.php описывается itemsCronStatus, он делает "# 1. Актуализация статуса объявлений", "# 2. Уведомление о скором завершении публикации объявлений", "# 3. Полное удаление объявлений" (это как раз и есть itemsCronDelete и вызывается именно через itemsCronStatus в файле bbs.class.php).
Комична ситуация, когда у пользователя закончился срок публикации и он решил после работы вашего кода продлить его.
Комична ситуация что вы код не смотрели, удаляются только объявления у которых закончился срок публикации и с тех пор прошло 'bbs.delete.timeout' => 100 дней указанных в конфиге, остальные не удаляются! Без моей правки они совсем не удаляются.
 
Назад
Сверху