1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Алиас товара в названии изображения

Тема в разделе "JoomShopping", создана пользователем brus46, 25 мар 2017.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
  1. brus46

    brus46 Постоялец

    Регистр.:
    3 мар 2013
    Сообщения:
    89
    Симпатии:
    15
    Как заставить joomshopping подставить алиас товара для названия изображения товара при загрузке?
     
    Последнее редактирование: 25 мар 2017
  2. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    71
    Симпатии:
    26
    а смысл ?
     
  3. brus46

    brus46 Постоялец

    Регистр.:
    3 мар 2013
    Сообщения:
    89
    Симпатии:
    15
    нужно для продвижения
     
  4. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    71
    Симпатии:
    26
    Кто такое посоветовал? Тот, кто в поисковике ищет на транслите ?
     
  5. brus46

    brus46 Постоялец

    Регистр.:
    3 мар 2013
    Сообщения:
    89
    Симпатии:
    15
    просили реализовать, а уж зачем - не знаю
     
  6. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    71
    Симпатии:
    26
    1. Пользуюсь https://joomshopping.pro/bio-basic-internal-optimization.html
    Забыл, а какие ALTы картинок joomshopping делает по-дефолту ?

    2. Сделать запрос к базе с апдейтом поля name в таблице jshopping_products_images

    3. Поправить контроллер\модель
    administrator/components/com_jshopping/controllers/products.php:
    administrator/components/com_jshopping/models/products.php:


    вот такие вижу 3 варианта.
     
    Последнее редактирование: 25 мар 2017
  7. brus46

    brus46 Постоялец

    Регистр.:
    3 мар 2013
    Сообщения:
    89
    Симпатии:
    15
    альты - название на русском

    я примерно понимаю, что копать надо в эту сторону, но у меня с MVC пока сложно все, как бы конкретнее указать, что надо менять
     
  8. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    71
    Симпатии:
    26
    в той модельке есть
    PHP:
     function addToProductImage($product_id$name_image$image_descr) {
            
    $image JSFactory::getTable('image''jshop');
            
    $image->set("image_id"0);
            
    $image->set("product_id"$product_id);
            
    $image->set("image_name"$name_image);
            
    $image->set("name"$image_descr);
            
    $image->set("ordering"$image->getNextOrder("product_id='".intval($product_id)."'"));
            
    $image->store();
        }
    Я не знаю есть на момент выполнения в базе запись о продукте, если есть то как-то так:

    PHP:
     function addToProductImage($product_id$name_image$image_descr) {
            
    $image JSFactory::getTable('image''jshop');
            
    $image->set("image_id"0);
            
    $image->set("product_id"$product_id);
            
    $image->set("image_name"$name_image);

    $query  "select `alias_ru-RU` from `#__jshopping_products` where `product_id` = '".$db->escape($product_id)."'";
    $db->setQuery($query);
    $image_descr $db->loadResult();

            
    $image->set("name"$image_descr);
            
    $image->set("ordering"$image->getNextOrder("product_id='".intval($product_id)."'"));
            
    $image->store();
        }
     
    Последнее редактирование: 25 мар 2017
  9. brus46

    brus46 Постоялец

    Регистр.:
    3 мар 2013
    Сообщения:
    89
    Симпатии:
    15
    Только немного не так:
    PHP:
    function addToProductImage($product_id$name_image$image_descr) {
            
    $image JSFactory::getTable('image''jshop');
            
    $image->set("image_id"0);
            
    $image->set("product_id"$product_id);

    $db $this->getDbo(); 
    $query  "SELECT `alias_ru-RU` FROM #__jshopping_products WHERE product_id = '".$image->set("product_id"$product_id)."'";
    $db->setQuery($query);
    $name_image $db->loadResult(); 

            
    $image->set("image_name"$name_image);
            
    $image->set("name"$image_descr);
            
    $image->set("ordering"$image->getNextOrder("product_id='".intval($product_id)."'"));
            
    $image->store();
        }
    но это только часть операции, которая формирует путь к изображению.
    Еще надо переименовывать сами картинки при загрузке, сейчас они загружаются со старыми именами и с этими изменениями кода джумшоппинг их соответственно не видит


    в итоге все получилось гораздо проще:
    PHP:
    function uploadImages($product$product_id$post){
            
    $jshopConfig JSFactory::getConfig();
            
    $dispatcher JDispatcher::getInstance();
        
            for(
    $i=0$i<$jshopConfig->product_image_upload_count$i++){
             
                
    $alias_tmp 'alias_ru-RU';
                
    $alias $product->$alias_tmp;

                
    $upload = new UploadFile($_FILES['product_image_'.$i]);
                
    $upload->setAllowFile(array('jpeg','jpg','gif','png'));
                
    $upload->setDir($jshopConfig->image_product_path);
                
    $upload->setFileNameMd5(0);
                
    $upload->setFilterName(1);
             
                
    $path_info pathinfo ($upload->name);
                
    $extension $path_info['extension'];
                
    $upload->name $alias '.' $extension;
    добавил 5 строк в for и все заработало, остальные функции не трогал
     
    Последнее редактирование: 27 мар 2017
  10. heartlink

    heartlink Создатель

    Регистр.:
    18 окт 2013
    Сообщения:
    48
    Симпатии:
    12
    BIO поставь и поэксперементируй. Там есть настройки по alt images.