Oscommerce отображает изображение продукта по умолчанию и предотвращает его удаление

Я работаю над проектом oscommerce, где я хочу отображать изображение продукта по умолчанию (т.е. изображение недоступно), если изображение продукта не загружено. И даже я хочу, чтобы он не удалялся. Я пытался загрузить изображение продукта, недоступное для 2- 3 продукта, но при удалении продуктов, т.е. конечное изображение последнего продукта, также удаляется из папки. Я хочу, чтобы, если пользователь не загружает изображение, по умолчанию no_product_available.jpg отображалось в CATEGORIES.php, а также в PRODUCT_INFO.php.

Может ли кто-нибудь помочь мне сделать это? Я использую шаблон oscommerce по умолчанию.


person Snehal    schedule 28.01.2015    source источник


Ответы (1)


Я думаю, что понимаю, что вы хотели бы сделать... В значительной степени вы говорите, что если кто-то не загружает изображение с продуктом или категорией, тогда вы хотели бы, чтобы изображение no_image.jpg отображалось вместо того, чтобы ничего не отображалось. . Кроме того, вы хотели бы, чтобы файл no_image.jpg не удалялся при удалении категории или продукта. Я думаю, что могу помочь с этим...

Вам нужно изменить функцию tep_image(), расположенную в catalog/includes/function/html_output.php.

Заменять...

if ( (empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false') ) {
  return false;
}

С участием...

if (!is_file($src)) {
$src = "images/no_image.jpg";
}

Теперь, когда вы используете функцию tep_image(), если изображение не было загружено или если файл указан, но отсутствует на сервере, то будет отображаться no_image.jpg. Когда категория или продукт удаляются, файл no_image.jpg не связан с категорией или продуктом, поэтому ничего не удаляется. Очевидно, замените «images/no_image.jpg» на правильное местоположение и имя файла для вашего файла без изображения по умолчанию. Кроме того, вы можете изменить приведенный выше код, чтобы получить желаемое поведение, но это хорошая отправная точка для достижения того, чего вы хотите.

Страницы index.php и product_info.php используют tep_image()... Итак, у вас все должно быть готово. Если вы создаете свою собственную страницу или модифицируете существующую, вам, конечно же, потребуется использовать функцию tep_image(), чтобы получить функциональность вывода no_image.jpg. Параметры для tep_image() следующие...

tep_image($src, $alt = '', $width = '', $height = '', $parameters = '')

ОБНОВЛЕНИЕ: tep_image уже должен быть как в index.php (страница, которая генерирует страницы списка категорий/продуктов), так и в product_info.php. Просто откройте любой файл и найдите «tep_image» без кавычек и скобок. Вы должны найти несколько экземпляров в обоих файлах. Изучите код, чтобы понять, что уже было сделано, чтобы при добавлении нового изображения вы понимали правильный синтаксис.

Просто поместите tep_image туда, где вы хотите, чтобы ваше новое изображение отображалось на странице. Вы должны быть знакомы с HTML и PHP, чтобы читать страницу и определять, где вы хотите разместить изображение. Если вы хотите переместить текущее изображение, вы можете просто вырезать и вставить текущий код tep_image в новое место.

Вы также можете использовать «Проверить элемент» в Chrome в контекстном меню, чтобы определить местоположение. Просто откройте страницу, на которую вы хотите добавить изображение, и щелкните правой кнопкой мыши область, в которую вы хотите добавить изображение. Затем посмотрите на окружающий исходный код страницы. Теперь у вас есть представление о том, что искать в файле PHP.

Кстати, страница index.php немного сложна. Эта страница отвечает за домашнюю страницу, страницы со списком категорий и страницы со списком продуктов. Кроме того, есть несколько других страниц модуля PHP, которые включены (поэтому исходный код находится в другом файле, который вам нужно будет отследить, если это та область, в которую вы хотите добавить изображение). По смыслу ;-)

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

person Community    schedule 28.01.2015
comment
Не могли бы вы помочь мне разместить функцию tep_image на странице products_info и категорий. Я использую шаблон oscommerce по умолчанию. И я ПОЛНОСТЬЮ новичок в Oscommerce. Помощь действительно ценится - person Snehal; 29.01.2015