COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

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


Mirchik

Recommended Posts

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

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

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

 

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

 

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

 

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

Скрытый текст

2018-03-11_005044.png.d7eb5a452a465fab4e5a0acf372910d1.png

 

Картинки, код и логи убирайте под спойлер.

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

7 минут назад, Mirchik сказал:

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


Можно попроще, если только картинки нужны:

Скрытый текст

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

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

            $data['tt360'] = array();

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

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

 

//шаблон:

    <?php foreach ($tt360 as $result) { ?>
        <?php echo $result['image']; ?>
    <?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 Просмотр".

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

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

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

  • 9 months later...

Ребят подскажите не как не могу перенести бд с оксторе 2.3 на cms Вашу.

Скрытый текст
Цитата

Notice: Undefined index: noindex in C:\OSPanel\domains\test.ru\catalog\controller\product\category.php on line 108Notice: Undefined index: description_bottom in C:\OSPanel\domains\test.ru\catalog\controller\product\category.php on line 153

Цитата

Notice: Undefined index: noindex in C:\OSPanel\domains\test.ru\catalog\controller\product\category.php on line 108Notice: Undefined index: description_bottom in C:\OSPanel\domains\test.ru\catalog\controller\product\category.php on line 153
Fatal error: Uncaught exception 'Exception' with message 'Error: Unknown column 'p.noindex' in 'field list'<br />Error No: 1054<br />SELECT DISTINCT *, pd.name AS name, p.image, p.noindex AS noindex, m.name AS manufacturer, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM oc_product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '1') AS reward, (SELECT ss.name FROM oc_stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND s in C:\OSPanel\domains\test.ru\system\library\db\mysqli.php on line 45

 

 

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

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу