Перейти к содержанию
Форум поддержки пользователей VamShop

Описание к производителю. пишем модуль.


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

в default.php вставил запрос:

$query = "SELECT manufacturers_description FROM ".TABLE_MANUFACTURERS_INFO." as mi ";

$query .= "where mi.manufacturers_id = '" . (int)$manufacturer_id . "'";

$open_query = vamDBquery($query);

while ($open_data = vam_db_fetch_array($open_query, true)){

$open_list .= "" .$open_data["manufacturers_description"]. "";

}

$default->assign('OPEN_LIST', $open_list);

запрос SQL 100% рабочий, проверял в phpmyadmin, ошибок нигде не было, вставил переменную {$OPEN_LIST} - тишина!

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

Дико извеняюсь за флуд. Вот окончательное решение к которому я пришел:

			$query = "SELECT manufacturers_description FROM ".TABLE_MANUFACTURERS_INFO." where manufacturers_id = '" . (int)$manufacturer_id . "'";

$open_query = vamDBquery($query);
while ($open_data = vam_db_fetch_array($open_query, true)){
$open_list .= "" .$open_data["manufacturers_description"]. "";
}
$module->assign('OPEN_LIST', $open_list);
[/code]

это я вставил в product_listing.php

метку {$OPEN_LIST} сунул в product_listing.html

в базе данных заполнил для производителя 1 описание (manufacturers_description).

Захожу на сайт в производитель 1 и описания нету. в чем ошибка?

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

Не знаю, я пока не пробовал.

Я ж говорю, для шаблона списка товаров есть метка например {$MANUFACTURER_SORT}

Вот посмотри как она определяется и сделай на её основе свою метку {$MANUFACTURER_DESCRIPTION}

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

+ производителей id  у каждого свое зачем

while ($open_data = vam_db_fetch_array($open_query, true)){
$open_list .= "" .$open_data["manufacturers_description"]. "";
}[/code] ??? если для одного производителя достаточно
[code]$open_data = vam_db_fetch_array($open_query, true); $open_list = $open_data["manufacturers_description"];

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

поправ:

	$query = "SELECT manufacturers_description FROM ".TABLE_MANUFACTURERS_INFO." where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'";

$open_query = vamDBquery($query);
$open_data = vam_db_fetch_array($open_query, true);
$manufacturers_description = $open_data["manufacturers_description"];
$module->assign('MANUFACTURERS_DESCRIPTION', $manufacturers_description);
[/code] в шаблоне ставиш:
[code] {if $MANUFACTURERS_DESCRIPTION}
{$MANUFACTURERS_DESCRIPTION}
{/if}

все норм работает...

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

Все работает! спасибо mosquito за помощь в выводе, спасибо мне за внедрение в админку! :))))

в admin/manufacturers.php

1. после:

	  function vam_get_manufacturers_meta_description($manufacturer_id, $language_id) {
    $manufacturer_query = vam_db_query("select manufacturers_meta_description from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'");
    $manufacturer = vam_db_fetch_array($manufacturer_query);
    return $manufacturer['manufacturers_meta_description'];
  }   [/code] Вставляем:
[code]   function vam_get_manufacturers_description($manufacturer_id, $language_id) {
    $manufacturer_query = vam_db_query("select manufacturers_description from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'");
    $manufacturer = vam_db_fetch_array($manufacturer_query);
    return $manufacturer['manufacturers_description'];
  }
2. После
					$manufacturers_meta_description_array = $_POST['manufacturers_meta_description'];
Вставляем:
					$manufacturers_description_array = $_POST['manufacturers_description'];
3. После
,'manufacturers_meta_description' => vam_db_prepare_input($manufacturers_meta_description_array[$language_id]),
Вставляем:
'manufacturers_description' => vam_db_prepare_input($manufacturers_description_array[$language_id]),
4. После
      $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_META_DESCRIPTION . $manufacturer_inputs_string);
Вставляем:
            $manufacturer_inputs_string = '';
      for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
        $manufacturer_inputs_string .= '<br />' . $languages[$i]['name'] . ':&nbsp;' . vam_draw_input_field('manufacturers_description[' . $languages[$i]['id'] . ']');
      }
      $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_inputs_string);
[/code] 5. После:
[code]// EOF manufacturers meta tags

      $manufacturer_inputs_string = '';
      $languages = vam_get_languages();
Вставляем:
      for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
        $manufacturer_inputs_string .= '<br>' . $languages[$i]['name'] . ':&nbsp;' . vam_draw_input_field('manufacturers_description[' . $languages[$i]['id'] . ']', vam_get_manufacturers_description($mInfo->manufacturers_id, $languages[$i]['id']));
      }
      $contents[] = array('text' => '<br>Описание: ' . $manufacturer_inputs_string);
[/code] 6. В includes/modules/product_listing.php После:
[code] if (GROUP_CHECK == 'true') {
$group_check = "and c.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
}
Вставляем:
	$query = "SELECT manufacturers_description FROM ".TABLE_MANUFACTURERS_INFO." where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'";

$open_query = vamDBquery($query);
$open_data = vam_db_fetch_array($open_query, true);
$manufacturers_description = $open_data["manufacturers_description"];
$module->assign('MANUFACTURERS_DESCRIPTION', $manufacturers_description);[/code] 7. В шаблоне product_listing вставляем где угодно:
[code] {if $MANUFACTURERS_DESCRIPTION}
{$MANUFACTURERS_DESCRIPTION}
{/if}

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

Все работает! спасибо mosquito за помощь в выводе
не за что )

да но ето все хорошо как временный вариант в дальнейшем нужно сделать как отделный файл manufacturers_info.php?manufact_id= ... )

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

А зачем как отдельный файл?!

Вроде как раз самое то, что когда сортируешь по производителю, то на этой странице и выводится описание производителя, т.е. как с категориями товаров.

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

Frycrosoft

Вместо draw_input_filed напиши например draw_textarea_field

Для описания наверное логичнее text area поле делать.

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

теперь выдает ошибку:

Warning: Missing argument 3 for vam_draw_textarea_field() in /www/machalke/users/machalke-new/www/htdocs/admin/includes/functions/html_output.php on line 234

Warning: Missing argument 4 for vam_draw_textarea_field() in /www/machalke/users/machalke-new/www/htdocs/admin/includes/functions/html_output.php on line 234

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

понадобилось еще вывести название производителя и картинку, немного доработали код:

  $query = "SELECT manufacturers_description,manufacturers_name, 	manufacturers_image FROM ".TABLE_MANUFACTURERS_INFO." ".
    " LEFT JOIN ".TABLE_MANUFACTURERS." ON ".TABLE_MANUFACTURERS_INFO.".manufacturers_id = ".TABLE_MANUFACTURERS.".manufacturers_id ".
    "where ".TABLE_MANUFACTURERS.".manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'";
      $open_query = vamDBquery($query);
      $open_data = vam_db_fetch_array($open_query, true);
      $manufacturers_description = $open_data["manufacturers_description"];
      $manufacturers_name = $open_data["manufacturers_name"];
      $manufacturers_image = $open_data["manufacturers_image"];
      $module->assign('MANUFACTURERS_DESCRIPTION', $manufacturers_description);
      $module->assign('MANUFACTURERS_NAME', $manufacturers_name);
      $module->assign('MANUFACTURERS_IMAGE', $manufacturers_image);[/code] в шаблоне добавил:
[code]<table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr>
  {if $MANUFACTURERS_IMAGE}
  <td style="padding-right: 15px;">
    <img src="images/{$MANUFACTURERS_IMAGE}" alt="{$MANUFACTURERS_IMAGE}" />
  </td>
{/if}


    <td>
    {if $MANUFACTURERS_DESCRIPTION}
    {$MANUFACTURERS_DESCRIPTION}
          {/if}
    </td>

  </tr>
</table>

может кому полезно будет...

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