Helix Ultimate Offline Page Confusion - Question | JoomShaper
🎃 Halloween Sale is Live! Get 35% OFF on all plans. Sale ends soon! Get Offer

Helix Ultimate Offline Page Confusion

J

johnny

Template 2 years ago

I have installed the latest version of Helix Ultimate. I have set Joomla site offline to yes. Now I can see only a white screen with a username and password box.

I can't see the offline image or offline text. Why? How can I see this.

I think the offline configuration in the Helix Template is one of the most confusing things about it. Why not make it easier, this question comes up a LOT.

0
9 Answers
Mehtaz Afsana Borsha
Mehtaz Afsana Borsha
Accepted Answer
Support Agent 2 years ago #120716

Hi

Thanks for contacting us. Could you please give me your super admin access? So that I can check.

-Regards.

0
J
johnny
Accepted Answer
2 years ago #120721

My site is localhost.

Is there documentation I can read?

0
Mehtaz Afsana Borsha
Mehtaz Afsana Borsha
Accepted Answer
Support Agent 2 years ago #120764
0
Paul Frankowski
Paul Frankowski
Accepted Answer
Senior Staff 2 years ago #120781

If I may...

using Offline mode in localhost doesn't make sense, it's like adding a lock to refrigerator in the kitchen ;p

  1. Anytime you can delete offline.php file from template folder and then Joomla would use default file from Joomla core.
  2. But indeed small correction (rename) in Helix code is needed, but right now in raw Helix Ultimate 2.0.13 you can customize that text using: Helix Options > Basic > Coming Soon. Just add your text and image there and then disable (off) Coming Soon after. info_1258_2023.jpg

info_1257_2023.jpg

this text & img will remain on Offline mode page - when is enabled.

0
J
johnny
Accepted Answer
2 years ago #120787

Paul, your fridge analogy is irrelevant. There are many reasons why i might want a lock on my fridge in my kitchen :)

A localhost site is specifically for testing, which is what i am doing. Glad I did because it appears there is a bug yhat you have mentioned. Can this be fixed please?

Expecting users to delete php files from template folders is nit acceptable, especially for non technical users. Plus, its not documented anywhere.

The offline / coming soon feature in Helix is terrible.

0
Paul Frankowski
Paul Frankowski
Accepted Answer
Senior Staff 2 years ago #120789

I added to bug list 3h ago - becuase indeed now this feature may cause confusion. You don't have to delete any file, just use tip from (2.).

In my private opinion Coming soon should be removed and we should keep offline mode with extra features only.

0
J
johnny
Accepted Answer
2 years ago #121239

Thanks Paul! I agree :)

0
S
StoneAgeIT
Accepted Answer
4 months ago #195818

It's actually a shame, that this hasn't been fixed from JoomShaper so far. As a programmer, it took my less than one hour to fix this: You can create an override or edit the file "offline.php" directly. Go to System --> Templates --> Site Templates --> Shaper_helixultimate Paste this code in to the offline.php and save:

<?php
/**
 * @package Helix_Ultimate_Framework
 * @author JoomShaper / StoneAgeIT
 * @copyright Copyright (c)
 * @license GNU/GPLv2 or Later
 */

defined('_JEXEC') or die('Restricted access');

use Joomla\CMS\Factory;
use Joomla\CMS\Helper\AuthenticationHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;

$twofactormethods = array();
if (version_compare(JVERSION, '4.2.0', '<')) {
    $twofactormethods = AuthenticationHelper::getTwoFactorMethods();
}

$doc             = Factory::getDocument();
$app             = Factory::getApplication();
$config          = Factory::getConfig();
$offlineImage    = $config->get('offline_image');
$offlineMessage  = $config->get('offline_message');
$showOfflineMsg  = $config->get('display_offline_message', 1);
$sitename        = $config->get('sitename');

ob_start();
?>  

<div class="coming-soon-login text-center">

    <!-- Joomla Offline Image -->
    <?php if (!empty($offlineImage)) : ?>
<div class="mb-4 d-flex justify-content-center">
    <img src="/<?php echo htmlspecialchars($offlineImage); ?>" alt="<?php echo htmlspecialchars($sitename); ?>" class="img-fluid" style="max-width: 300px;" />
</div>
    <?php endif; ?>

    <!-- Offline Message -->
    <?php if ($showOfflineMsg) : ?>
        <div class="alert alert-info text-center mb-4">
            <?php echo $offlineMessage ?: Text::_('JDEFAULT_OFFLINE_MESSAGE'); ?>
        </div>
    <?php endif; ?>

    <!-- Login Form -->
    <form action="<?php echo Route::_('index.php', true); ?>" method="post" id="form-login" class="mt-5">
        <div class="row gx-3 align-items-center justify-content-center">
            <div class="col-auto">
                <label class="visually-hidden" for="username"><?php echo Text::_('JGLOBAL_USERNAME'); ?></label>
                <div class="input-group mb-2">
                    <div class="input-group-text"><span class="fas fa-user" aria-hidden="true"></span></div>
                    <input name="username" type="text" class="form-control" id="username" placeholder="<?php echo Text::_('JGLOBAL_USERNAME'); ?>">
                </div>
            </div>

            <div class="col-auto">
                <label class="visually-hidden" for="password"><?php echo Text::_('JGLOBAL_PASSWORD'); ?></label>
                <div class="input-group mb-2">
                    <div class="input-group-text"><span class="fas fa-key" aria-hidden="true"></span></div>
                    <input name="password" type="password" class="form-control" id="password" placeholder="<?php echo Text::_('JGLOBAL_PASSWORD'); ?>">
                </div>
            </div>

            <?php if (count($twofactormethods) > 1) : ?>
                <div class="col-auto">
                    <label class="visually-hidden" for="secretkey"><?php echo Text::_('JGLOBAL_SECRETKEY'); ?></label>
                    <div class="input-group mb-2">
                        <div class="input-group-text"><span class="fas fa-user-secret" aria-hidden="true"></span></div>
                        <input name="secretkey" type="text" class="form-control" id="secretkey" placeholder="<?php echo Text::_('JGLOBAL_SECRETKEY'); ?>">
                    </div>
                </div>
            <?php endif; ?>

            <div class="col-auto">
                <input type="submit" name="Submit" class="btn btn-success mb-2 login" value="<?php echo Text::_('JLOGIN'); ?>" />
                <input type="hidden" name="option" value="com_users" />
                <input type="hidden" name="task" value="user.login" />
                <input type="hidden" name="return" value="<?php echo base64_encode(Uri::base()); ?>" />
                <?php echo HTMLHelper::_('form.token'); ?>
            </div>
        </div>
    </form>
</div>

<?php
$login_form = ob_get_clean();
echo LayoutHelper::render('comingsoon', array(
    'language'    => $this->language,
    'direction'   => $this->direction,
    'params'      => $this->params,
    'login'       => true,
    'login_form'  => $login_form
));

This code shows the offline message and image (if provided). Coming soon works as well, if you want to use this. You are welcome! Happy coding, every one.

0
Mehtaz Afsana Borsha
Mehtaz Afsana Borsha
Accepted Answer
Support Agent 4 months ago #195842

Hi StoneAgeIT,

Thanks for contacting us and thanks for sharing this solution.

0