Перейти к содержанию
mirchik

База данных и Product ID

Рекомендуемые сообщения

Здравствуйте, сразу прошу прощение за возможно для кого-то тупые вопросы, но я совсем новичек((

Вообщем задача в следующем:

Имеется таблица(tt360images)в базе данных с тремя столбцами -1 product_id (соответственно привязка к ID продукта),   -2 images (это уже текстовая строка с именами файлов изображений, разделенными " ; " загруженных в папку с номером ID продукта)   -3 columns (общее количество загруженных в эту папку файлов изображений)

 

Как мне отредактировать product.php и product.tpl чтоб добавить эти данные из базы для товаров с подходящим ID.

 

Хочу использовать скрипт spritespin, вот для него и нужны все эти данные, помогите пожалуйста.

 

Пример данных таблицы:

2018-03-11_005044.png

Изменено пользователем mirchik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подробности в лс.

Спойлер

//Модель
    public function getTt360images($product_id) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "tt360images WHERE product_id = '" . (int)$product_id . "'");
        
        return $query->rows;
    }

//Коннтроллер

            $data['tt360images'] = array();
            
            $results = $this->model_catalog_product->getTt360images($this->request->get['product_id']);

            foreach ($results as $result) {
                $images = array();
                    
                foreach (explode(";", $result['images']) as $image) {
                    $images[] = array(
                        'image'     => '/путь до картинки/' . $image
                    );
                }
                    
                $data['tt360images'][] = array(
                       'product_id' => $result['product_id'],
                       'images'     => $images,
                    'columns'    => $result['columns']
                );
            }

 

//шаблон:

    <?php foreach ($tt360images as $result) { ?>
    <?php echo $result['product_id']; ?><?php echo $result['columns']; ?>
        <?php foreach ($result['images'] as $images) { ?>
        <?php echo $images['image']; ?>
        <?php } ?>
    <?php } ?>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

BuslikDrev, Большое спасибо все получилось!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще столкнулся с проблемой, есть jqery плагин reel называется, там есть возможность маштабировать анимацию под размер экрана, я активировал данный пункт, но работает это мягко говоря непонятно для меня, возможно можно сделать "загрузку для пользователя" чтоб не было видно этих мерцаний при кэшировании. Вот описание функции от разработчика Reel -Responsiveness, а вот мой код при запуске через Ajax:

Спойлер

<div>
<script src="catalog/view/javascript/jquery/jquery.reel.min.js"></script>
<style>
.reelsize {
	margin: 0 auto
}
</style>

<?php foreach ($tt360images as $result) { ?>
	<div>
	<img src="/image/magic360/<?php echo $result['product_id']; ?>/01.jpg"
		width="1280"
		height="960"
		class="reel reelsize"
		id="image"
		data-responsive="true"
		data-speed="0.3"
		data-images="/image/magic360/<?php echo $result['product_id']; ?>/##.jpg|01..<?php echo $result['columns']; ?>">
	</div>
<?php } ?>
</div>

 

А вот этим запросом я вызываю модальное окно и ajax запрос:

Спойлер

<a data-fancybox data-type="ajax" data-src="index.php?route=product/product/getPhoto360img&product_id=<?php echo $product_id; ?> " href="javascript:;" class="js-fancy-popup">3D Просмотр</a>

 

 

Проблем несколько:

1. Мерцание при открытии (масштабирование работает но это мерцание пока не прокэшируется, возможно ли добавить какую то подгруздку)

2. При повторном открытии модального окна с ajax запросом, скрипт reel не срабатывает, тут вообще не представляю что делать, если обновить страницу то первый раз сработает а потом опять болт.

 

Выгрузил проект на временный хост, чтоб визуальнее объяснить проблему. При нажатии на ссылку "3D Просмотр".

Изменено пользователем mirchik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По 2-му пункту вычитал, что Разработчик плагина предлагает использовать Эвент teardown, но я не знаю как это и где использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал на костылях, но вроде все работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.