Русская поддержка phpFox 3
Русская поддержка движка социальной сети phpFox 3.
Блог :: 26.02.2025 10:01:27 pm
Для точного пересчёта счётчика каких либо записей, буду использовать функцию:
Допустим, нам необходимо пересчитать количество комментариев у фотографии. Делаем так:
Функция имеет пять параметров:
Тут будет пересчёт всех существующих записей, с указанными параметрами выборки, после чего обновится указанное поле.
В phpFox есть ещё один вариант обновления счётчика, который просто добавляет единицу, либо отнимает единицу, от количества записей. Допустим, задача та же, обновления счётчика комментов у фотографии. Делаем так:
Тут функция
В данном случае, значение:
...
updateCount
библиотеки: database
.Допустим, нам необходимо пересчитать количество комментариев у фотографии. Делаем так:
$this->database()->updateCount(
'comment',
'parent_id = 0 AND type_id = \'photo\' AND item_id = ' . (int) $photo['photo_id'],
'total_comment',
'photo',
'photo_id = ' . (int) $photo['photo_id']
);
Функция имеет пять параметров:
- Название таблицы, в которой будет пересчитывать записи.
- Строка запроса: По каким параметрам считать записи.
- Поле: Счётчик, который необходимо обновить.
- Название таблицы, где будет обновлён счётчик.
- Строка запроса: Счётчик какой записи обновлять.
Тут будет пересчёт всех существующих записей, с указанными параметрами выборки, после чего обновится указанное поле.
В phpFox есть ещё один вариант обновления счётчика, который просто добавляет единицу, либо отнимает единицу, от количества записей. Допустим, задача та же, обновления счётчика комментов у фотографии. Делаем так:
$this->database()->updateCounter(
'photo',
'total_comment',
'photo_id',
$photo['photo_id']
);
Тут функция
updateCounter
принимает четыре параметра:
- Название таблицы, в котором находится поле для обновления.
- Название поля, что будем обновлять.
- По какому полю находим нужную запись.
- Что должно соответствовать полю.
В данном случае, значение:
total_comment
станет на единицу больше. Чтобы значение стало на единицу меньше, необходимо вставить пятый параметр (true
) в функцию:
$this->databas
- Жалоба
Блог :: 14.06.2024 08:15:33 pm
После того, как мы меняем URL своей страницы, в настройках страницы, ссылка "На страницу" может привести нас на 404 ошибку.
Решение: Открыть файл: "module/pages/include/component/ajax/ajax.class.php", найти метод
Добавить:
Внимание: Названия переменных могут отличаться от Ваших, меняйте на свои.
Решение: Открыть файл: "module/pages/include/component/ajax/ajax.class.php", найти метод
changeUrl
, в нём перед строчкой:
$this->alert(phpfox::getPhrase('pages.successfully_updated_your_pages_url'), phpfox::getPhrase('pages.url_updated'), 300, 150, true);
Добавить:
$this->call('$(\'.page_section_menu_link:first\').attr(\'href\', \'' . phpfox::getService('pages')->getUrl($this->get('id'), $vals['title'], $newTitle) . '\');');
Внимание: Названия переменных могут отличаться от Ваших, меняйте на свои.
Блог :: 30.04.2024 07:23:17 am
Данная строчка кода, внутри одного контроллёра, включает другой контроллёр, что будет указан:
В phpFox довольно часто можно встретить включение контроллёра в контроллёре, например, для вывода ошибки 404:
В случае вывода ошибки 404, перед строкой включения контроллёра необходимо писать
phpfox::getLib('module')->setController('module.controller');
В phpFox довольно часто можно встретить включение контроллёра в контроллёре, например, для вывода ошибки 404:
if ($error)
{
return phpfox::getLib('module')->setController('error.404');
}
В случае вывода ошибки 404, перед строкой включения контроллёра необходимо писать
return
(Как в примере выше), чтобы не продолжать выполнять код текущего контроллёра. Если есть необходимость выполнения кода сразу в двух контроллёрах, return
не нужен.
Блог :: 30.04.2024 07:00:15 am
Из контроллёра можно передавать параметры в блок или другой контроллёр. Для этого в движок введены два метода:
Допустим нам необходимо передать массив, каких либо данных, пишем в контроллёре (Из которого передаём):
В блоке или контроллёре, что должен принять данный массив, пишем следующее:
Теперь переменная
setParam()
- Служит для установки / передачи параметров.getParam()
- Служит для получения установленных параметров.
Допустим нам необходимо передать массив, каких либо данных, пишем в контроллёре (Из которого передаём):
$this->setParam('paramArray', [
'key-1' => 'val-1',
'key-2' => 'val-2'
]
);
В блоке или контроллёре, что должен принять данный массив, пишем следующее:
$paramArray = $this->getParam('paramArray');
Теперь переменная
$paramArray
содержит в себе массив, что мы передали с другого контролёра.
Опрос :: 29.04.2024 11:20:29 am
Если Вы владелец phoFox 3, то поделитесь своим мнением с нами, стоит ли обновлять движок до phpFox 4?
Статистика доступна после голосования Публичный опрос
Блог :: 11.04.2024 05:59:07 pm
Чтобы сообщить пользователю, что страницы или файла не существует, то есть отдать ему 404 ошибку, мы будем использовать родной метод
Допустим мы получаем какие либо данные, и в случае, если нужная запись не найдена, выводим 404 ошибку:
URL страницы останется именно таким, каким на него перешли. А если надо отправить пользователя по адресу: "site/error.404/", делаем так:
На мой взгляд, первый вариант лучше.
setController
, библиотеки module
. Вот так:
phpfox::getLib('module')->setController('error.404')
Допустим мы получаем какие либо данные, и в случае, если нужная запись не найдена, выводим 404 ошибку:
if ($editID = $this->request()->getInt('id'))
{
if (!($row = phpfox::getService('ad')->getAd($editID)))
{
// В случае ненайденной записи выводим 404 ошибку
return phpfox::getLib('module')->setController('error.404');
}
// Тут код при успешно найденной записи
}
URL страницы останется именно таким, каким на него перешли. А если надо отправить пользователя по адресу: "site/error.404/", делаем так:
phpfox::getLib('url')->send('error.404');
На мой взгляд, первый вариант лучше.
Блог :: 09.04.2024 07:49:07 am
Оказывается, не все вложенные картинки, по клику открываются в модульном окне, по размеру самого файла (ThickBox), например, превью для опроса. Изначально, по клику на превью опроса, в ленте новостей, открывается новая вкладка со страницей опросом. Мне захотелось, чтобы в ленте новостей, по клику на превью, открывалось окошко с фото опроса. Ниже расскажу, как я это сделал.
Открываю: "module/poll/include/service/callback.class.php", нахожу метод getActivityFeed, где в массив
Получается так:
А в
Получается так:
...
Открываю: "module/poll/include/service/callback.class.php", нахожу метод getActivityFeed, где в массив
$return
добавляю строку:
'no_target_blank' => true,
Получается так:
$return = [
'feed_title' => $row['question'],
'feed_link' => phpfox::permalink('poll', $row['poll_id']),
'feed_content' => !empty($row['description']) ? $row['description'] : null,
'total_comment' => $row['total_comment'],
'feed_total_like' => $row['total_like'],
'feed_is_liked' => $row['is_liked'],
'feed_icon' => phpfox::getLib('image.helper')->display(['theme' => 'module/poll.png', 'return_url' => true]),
'time_stamp' => $row['time_stamp'],
'enable_like' => true,
'comment_type_id' => 'poll',
'like_type_id' => 'poll',
'no_target_blank' => true,
'feed_custom_html' => $tpl->getTemplate('poll.block.vote', true)
];
А в
$return['feed_image']
добавляю:
'thickbox'=> true
Получается так:
$return['feed_image'] = phpfox::getLib('image.helper')->display([
'server_id' => $row['server_id'],
'path' =>
Фото :: 08.01.2019 03:16:23 pm
2 января 2019 года разработчики phpFox сообщили о релизе версии 4.7.2.
В основном релиз - исправление различных ошибок и доработка того, что просили пользователи.
Источник: https://www.phpfox.c ... ficial-release/.
В основном релиз - исправление различных ошибок и доработка того, что просили пользователи.
Источник: https://www.phpfox.c ... ficial-release/.
Фото :: 30.12.2017 08:51:35 pm
Разработчики phpFox под Новогодние праздники объявили о релизе 4.6.0 RC. Дизайн данной версии выглядит гораздо красивее (и аккуратнее), чем 4.5.x.
Новость о релизе: https://www.phpfox.c ... 6-0-rc-release/.
Новость о релизе: https://www.phpfox.c ... 6-0-rc-release/.
Dolphin 31.12.2017 07:56:51 am
Дизайн действительно радует глаз, приятный! А исходный код, какой был, такой, видимо (шибко не разглядывал), и остался... Разве, что позаботились о кириллице (еще до 4.6.0 версии). Их решение я использовал в своей Тройке: Журнал пользователя движка phpFOX 3 (Сообщение отдельно: #1035). Вижу, что избавились от многих сторонних библиотек, возможно, написали свои. Разработчики до сих пор не избавились от MySQL, зачем то находится в папке драйверов Базы Данных. Думаю, что MySQLi необходимо, а про MySQL уже надо забыть и выпилить его из движка.
Как я понял, чтобы обновить Тройку до Четверки Про, необходимо доплатить 240 долларов.
Как я понял, чтобы обновить Тройку до Четверки Про, необходимо доплатить 240 долларов.
Dolphin 10.01.2018 11:43:57 am
9 января, 2018 года, то есть вчера, разработчики сообщили об официальном релизе phpFox 4.6.0. По их словам эта версия самая лучшая версия за всю историю phpFox.
Блог :: 30.09.2017 09:25:41 am
Здравствуйте.
Сегодня решил избавиться от тройного w в адресе своей соцсети, полез в .htaccess. Там уже есть закомментированный код редиректа на www. в случаи если его нет, это мне не нужно. Кстати, у меня было написан этот код с ошибкой:
В последней строке, после знака процента есть пробел пробел, его там быть не должно. Если у Вас тоже есть этот пробел, уберите его, он может привести к ошибке на сайте.
Что бы убрать www., после код, что приведен выше дописываем:
Теперь Ваш домен без www..
Спасибо за внимание.
Надеюсь информация Вам была полена.
Сегодня решил избавиться от тройного w в адресе своей соцсети, полез в .htaccess. Там уже есть закомментированный код редиректа на www. в случаи если его нет, это мне не нужно. Кстати, у меня было написан этот код с ошибкой:
# 301 redirect if missing www.
#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule ^(.*)$ http://www.% {HTTP_HOST}/$1 [R=301,L]
В последней строке, после знака процента есть пробел пробел, его там быть не должно. Если у Вас тоже есть этот пробел, уберите его, он может привести к ошибке на сайте.
Что бы убрать www., после код, что приведен выше дописываем:
# 301 redirect without www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
Теперь Ваш домен без www..
Спасибо за внимание.
Надеюсь информация Вам была полена.
Блог :: 21.09.2017 07:18:04 pm
В phpFOX 3 есть вшитая подсветка синтаксиса, но только для HTML тегов и то её надо допилить... Я её "выкинул напрочь" и вставил highlight.js. Делал так:
Открыть: theme/frontend/nebula/template/template.html.php, найти:
Выше добавить:
Открыть: include/library/phpfox/phpfox/phpfox.class.php, найти:
Выше добавить:
Открыть: include/library/phpfox/parse/bbcode.class.php, найти:
Заменить на:
Найти и удалить или закомментировать:
...
Открыть: theme/frontend/nebula/template/template.html.php, найти:
</body>
</html>
{/if}
Выше добавить:
<script type="text/javascript">
hljs.initHighlightingOnLoad();
</script>
Открыть: include/library/phpfox/phpfox/phpfox.class.php, найти:
if (Phpfox::isModule('friend'))
{
$oTpl->setPhrase(array('friend.show_more_results_for_search_term'));
}
Выше добавить:
if (Phpfox::isModule('forum') | Phpfox::isModule('blog'))
{
$oTpl->setHeader('cache', array(
'code.css' => 'style_css',
'highlight.pack.js' => 'static_script'
)
);
}
Открыть: include/library/phpfox/parse/bbcode.class.php, найти:
$sTxt = '<div class="quote">' . ($bNoTitle ? '' : '<div class="quote_title">' . trim($sTitle) . ':</div>') . '<div class="quote_body" style="overflow:auto;' . ($this->_aBlockHeight[$sTxt] >= 540 ? ' height:' . $this->_aBlockHeight[$sTxt] . 'px;' : '') . '">' . $sPrefix . $sNewTxt . $sSuffix . '</div></div>';
Заменить на:
$sTxt = '<div class="quote"><div class="quote_title">' . trim($sTitle) . ':</div><div class="quote_body" style="overflow: auto; max-height: 180px;"><pre><code>' . $sNewTxt . '</code></pre></div></div>';
Найти и удалить или закомментировать:
$sPrefix = '';
$sSuffix = '';
if ($sType != 'php')
{
$sPrefix = '<pre>';
$sSuffix =
Для точного пересчёта счётчика каких либо записей, буду использовать функцию: updateCount библиотеки: database.
Допустим, нам необходимо пересчитать...
После того, как мы меняем URL своей страницы, в настройках страницы, ссылка "На страницу" может привести нас на 404 ошибку.
Решение: Открыть...
Данная строчка кода, внутри одного контроллёра, включает другой контроллёр, что будет...
Ответов нет
64 ответа
5 ответов
1 ответ

Web Мастерская
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт,...