Jump to content

Edit History

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.

Edit: Póki co ogarnąłem, że w Media.php jest funkcja 

 public static function addJsDef($js_def)
    {
        if (is_array($js_def)) {
            foreach ($js_def as $key => $js) {
                Media::$js_def[$key] = $js;
            }
        } elseif ($js_def) {
            Media::$js_def[] = $js_def;
        }
    }

i nią się bawię.

Edit 2: Poległem jednak i posortowałem to inaczej już w Javascripcie, usuwając id_image z klucza, mam go w wartościach więc jakoś sobie poradzę. A poległem ponieważ otrzymałem obiekt a nie tablicę.

 

var sorted_images = [];
$.each(images, function(k,v){
  sorted_images.push(v);
});
delete images;

Ale koniec końców efekt osiągnąłem ;) Nareszcie miniatury zdjęć przypisanych do kombinacji jeśli istnieją to są wyświetlone w wyborze atrybutu. Jeśli nie to wyświetla się domyślna grafika/kolor atrybutu. (do tego doszło więcej pracy)
image.png.70e851f48bd8c640758888a22ecf8993.png
 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.

Edit: Póki co ogarnąłem, że w Media.php jest funkcja 

 public static function addJsDef($js_def)
    {
        if (is_array($js_def)) {
            foreach ($js_def as $key => $js) {
                Media::$js_def[$key] = $js;
            }
        } elseif ($js_def) {
            Media::$js_def[] = $js_def;
        }
    }

i nią się bawię. Poległem jednak i posortowałem to inaczej już w Javascripcie, usuwając id_image z klucza, mam go w wartościach więc jakoś sobie poradzę.

 

var sorted_images = [];
$.each(images, function(k,v){
  sorted_images.push(v);
});
delete images;

Ale koniec końców efekt osiągnąłem ;) Nareszcie miniatury zdjęć przypisanych do kombinacji jeśli istnieją to są wyświetlone w wyborze atrybutu. Jeśli nie to wyświetla się domyślna grafika/kolor atrybutu. (do tego doszło więcej pracy)
image.png.70e851f48bd8c640758888a22ecf8993.png
 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.

Edit: Póki co ogarnąłem, że w Media.php jest funkcja 

 public static function addJsDef($js_def)
    {
        if (is_array($js_def)) {
            foreach ($js_def as $key => $js) {
                Media::$js_def[$key] = $js;
            }
        } elseif ($js_def) {
            Media::$js_def[] = $js_def;
        }
    }

i nią się bawię. Poległem jednak i posortowałem to inaczej już w Javascripcie, usuwając id_image z klucza, mam go w wartościach więc jakoś sobie poradzę.

 

var sorted_images = [];
$.each(images, function(k,v){
  sorted_images.push(v);
});
delete images;

 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.

Edit: Póki co ogarnąłem, że w Media.php jest funkcja 

 public static function addJsDef($js_def)
    {
        if (is_array($js_def)) {
            foreach ($js_def as $key => $js) {
                Media::$js_def[$key] = $js;
            }
        } elseif ($js_def) {
            Media::$js_def[] = $js_def;
        }
    }

i nią się bawię. Poległem jednak i posortowałem to inaczej już w Javascripcie, usuwając id_image z klucza, mam go w wartościach więc jakoś sobie poradzę.

 

var sorted_images = [];
$.each(images, function(k,v){
  sorted_images.push(v);
});
delete images;






 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.

Edit: Póki co ogarnąłem, że w Media.php jest funkcja 

 public static function addJsDef($js_def)
    {
        if (is_array($js_def)) {
            foreach ($js_def as $key => $js) {
                Media::$js_def[$key] = $js;
            }
        } elseif ($js_def) {
            Media::$js_def[] = $js_def;
        }
    }

i nią się bawię. Poległem jednak i posortowałem to inaczej już w Javascripcie, usuwając id_image z klucza, mam go w wartościach więc jakoś sobie poradzę.

 

var sorted_images = [];
$.each(images, function(k,v){
	sorted_images[v.position] = v;
});
delete images;






 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.

Edit: Póki co ogarnąłem, że w Media.php jest funkcja 

 public static function addJsDef($js_def)
    {
        if (is_array($js_def)) {
            foreach ($js_def as $key => $js) {
                Media::$js_def[$key] = $js;
            }
        } elseif ($js_def) {
            Media::$js_def[] = $js_def;
        }
    }

i nią się bawię
 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu czyli id_obrazka a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?  Klucze tablicy muszą być id_image bo nie chcę definiować osobnego $images ze względu na wydajność.


 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu a nie po position czyli kolejność nie jest taka jak w zmiennej dostępnej w .tpl i php. Ktoś wie dlaczego?


 

hakeryk2

hakeryk2

Witam,

Ostatnio chciałem sobie dodać do podstrony product.tpl wartości obrazków wy wygenerować sobie lepiej miniaturki, wczytać wszystkie zdjęcie przyciskiem oraz przypisać miniaturki do atrybutów jednakże zdziwiła mnie jedna rzecz. Otóż. Zmienna $images w product.tpl przypisana jest ProductController.php w protected function assignImages() i tam jest funkcja getImages, która pobiera zdjęcia sortowane po position. I w takiej kolejności ta tablica wypluta jest zarówno w końcówce funkcji jak i w product.tpl gdy z print_rujemy zmienną. 

Jednakże gdy użyję w product.tpl {addJsDef images=$images} to indeksy tej zmiennej w JS są już posortowane po kluczu a nie po position. Ktoś wie dlaczego?


 

×
×
  • Create New...