Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Rozliv

Новачок
  
  • Публікації

    32
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Rozliv

  1. У вас постановка задачи противоречит логике работы движка. Данные из модели в контроллере передаются в реестр, а потом запускается шаблон, который собственно и получает данные из реестра. Как вы себе представляете передачу данных из шаблона в модель, когда модель до запуска шаблона уже отработала своё?

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

  2. Собственно все описано в заголовке 8)

     

    Задача:

    в шаблоне: к примеру получил переменную $per_zapr = '5';

     

    в контроллере: к примеру делаю запрос в базу: $this->data['otvet_ot_bazi'] = $this->db->query("SELECT text FROM " . DB_PREFIX . "product_attribute  WHERE product_id = '" . (int)$this->request->get['product_id'] . "' AND attribute_id = '" . (int)!!!!!а вот здесь должна быть 5!!!!!! . "'");

     

    как получить пятеречку??? заранее спасибо!!!

  3. ну так проверить на количество...

    Смотрите в исходник...

     

    $query->num_rows

     

    нет, дело вот в чем!!!

     

    Я делаю запрос  в строку с значением id=1

     

    а там к примеру только строки с id=: 4 6 8 и 12

     

    соответственно мне нужно вывести ошибку что такой строки нет!

  4. Задача такая!

    делаю к примеру запрос:

     

    $query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = " . $this->request->get['post_id'] . "");

     

    где post_id к примеру = 1,

    а в таблице такого id нет!

     

    как мне сделать на условие на наличие ошибки в запросе?

     

    заранее огромное спасибо...

  5. ......и в который раз засыпаюсь на ерунде! трачу немеренное количество времени.....

     
    1). $query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = 5"); - работает!
     
    2). $this->data['url_id'] = $this->request->get['id'];
         $query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = '" . (int)$url_id . "'"); - не работает!
     
    3). $query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = '" . $this->request->get['id'] . "'"); - не работает!
     
     
    Где косяк???
  6. Сегодня столкнулся с ещё одной проблемкой...

    не могу записать в таблицу текущую дату и время, возможно проблема и у меня на машине, а возможно и нет...

     

     

    $this->db->query("INSERT INTO oc_blog_data SET  
    date = 'CURRENT_TIMESTAMP',
    name = '" . $this->request->post['name'] . "',
    on_off = '" . $this->request->post['on_off'] . "',
    pr_on_off = '" . $this->request->post['pr_on_off'] . "',
    pr_simb_or_word = '" . $this->request->post['pr_simb_or_word'] . "',
    pr_limit = '" . $this->request->post['pr_limit'] . "',
    info_rus = '" . $this->request->post['info_rus'] . "',
    teg_h1 = '" . $this->request->post['teg_h1'] . "',
    teg_title = '" . $this->request->post['teg_title'] . "',
    teg_keywords = '" . $this->request->post['teg_keywords'] . "',
    teg_description = '" . $this->request->post['teg_description'] . "'
      ");
     
    в итоге в колонку date пишутся нули!
     
     
    причем если в шаблоне запустить...
     
    mysql_query("INSERT INTO $table (date, name, on_off, pr_on_off, pr_simb_or_word, pr_limit, info_rus, teg_h1, teg_title, teg_keywords, teg_description)
    VALUES (CURRENT_TIMESTAMP, 'Заголовок', 'on', 'on', 'simb', '200', 'Это информация, точнее сам текст всего этого самого, бла, бла, бла.', 'Teg H1', 'Teg Title', 'Teg Keywords', 'Teg Description'
    )");
     
    то все нормально!
     
    Вроде один SQL запрос, одна, база.... как быть?....
  7. еще вопрос:

    Можно ли в моем случае вывести не одну строку с данными с указанным id, а все строки таблицы со всеми id?

     

    Понимаю, что цикл нужно задать в шаблоне через foreach, но у меня опять не работает....

     

    можно ли пример?

  8. Где я что не понимаю......

     

     

    К примеру: Вывести данные из строки с id=1. Данные: id, date, on_off, info_rus.

    В контроллере:

    $info_data = array();
     
    $my_query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = 1");
     
    foreach ($my_query->rows as $result) {
    $info_data[] = array(
    'id' => $result['id'],
    'date' => $result['date'],
    'info_rus' => $result['info_rus'],
    'on_off' => $result['on_off']
    );
    }

     
     
     
    В шаблоне:
     
    <?php echo $info_data['id']; ?>
    <?php echo $info_data['date']; ?>
    <?php echo $info_data['info_rus']; ?>
    <?php echo $info_data['on_off']; ?>
     
     
    В итоге не работает!
    Notice: Undefined variable: info_data

     

    Где же я косячу???? 

     

    Хелп!

  9. контроллер это набор функций  - обработчик данных

    файл tpl - это шаблоны, в которых как правило выводятся уже  переменные из контроллера - "динамические данные" так сказать, которые могут меняться в зависимости от условий обработанных в контроллере

    например вот код из контроллера с хлебными крошками для категорий:

    $this->data['breadcrumbs'][] = array(
    				'text'      => $category_info['name'],
    				'href'      => $this->url->link('product/category', 'path=' . $this->request->get['path']),
    				'separator' => $this->language->get('text_separator')
    			);
    
    

    где переменной text задано - имя категории

    href - это ссылка на категорию

    separator - стрелочка (декорация )

    а все это контролируется функцией перебора массива array(

    ну а в шаблоне мы уже выводим следующий код:

     

     <?php foreach ($breadcrumbs as $breadcrumb) { ?>
        <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
        <?php } ?>
    

    где каждый отрезок начинающийся с <?php и заканчивающийся ?> - является переменной .

    Спасибо, но с крошками вроде все понятно, не получается работать с данными из таблиц. :ugeek:

    Где-то я что-то упускаю.....

  10. Проблема такая...

     

    1. к примеру: если в *tpl написать такой код, то все работает.

     

    <?php
    $host="localhost";
    $user="**************";
    $password="*****************";
    $mybase="*****************";
    $mytable="blog_data";
     
    if (!mysql_connect($host, $user, $password))
    {
    echo "Error connection to MySQL server<br>";
    echo "ERROR ".mysql_errno()." ".mysql_error()."\n";
    }
    mysql_select_db($mybase);
     
    $my_query = mysql_query("SELECT * FROM " . $mytable)
    or die(mysql_error());
     
    while($data = mysql_fetch_array($my_query))
    echo '<tr>';
    echo '<td class=right height="16">' . $data['id'] . '</td>';
    echo '<td class="center">' . $data['date'] . '</td>';
    echo '<td class="left">' . $data['info_rus'] . '</td>';
    echo '<td class="center">' . $data['on_off'] . '</td>';
    echo '<td class="center"><a href="?blogedit&id='.$data['id'].'"><img src="view/image/edit.png" border="0"</a></td>';
    echo '<td class="center"><a href="index.php?route=module/blog&token=,&id='.$data['id'].'"><img src="view/image/del.png" border="0"</a></td>';
    echo '</tr>';
    }
    mysql_close();
    ?>
     
    2. если все это пытаюсь наковырять в контроллере - то не работает, всю голову сломал.... уже сутки бьюсь! Из примеров понять не получается....
    Может ли кто-нибудь Привести пример для моего случая, чтобы у меня в голове прояснилось.....
  11. Хотелось бы узнать у вас, есть ли более-менее приличная и доходчивая литература по программированию в opencart?

    буду рад любой информации... желательно на русском, если есть уроки, то тоже отлично!

     

    У меня большие проблемы с контроллерами (реализация кода), поэтому пишу с помощью костылей "говнокод" в *.tpl,  что в корне не верно!

     

    Хотелось бы научиться писать правильно!

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.