qbin2001
30-06-2010, 23:28
K2 v2.3 Ogranicznie auto-generacji obrazków
Kiedy dodajemy w komponencie K2 artykuł w zakładce "Grafika" mamy mozliwość dodania ilustracji do artykułu. Ilustracja ta jest automatycznie generowana w folderze 'media/k2/items/cache' aż w sześciu rozmiarach:
1. Generic (domyślna)
2. XS (miniatura)
3. S (mała)
4. M (średnia)
5. L (duża)
6. XL (wielka)
Zazwyczaj korzystamy jednak jedynie z 2-3 wielkości, a przy dużej ilości artykułów rozmiar folderu z ilustracjami rośnie w zastraszającym tempie.
Domyślnie K2 nie oferuje możliwości wyłączenia generowania wybranych wielkości ilustracji. Aby samemu wprowadzić tę opcję wystarczą cztery zmiany w plikach K2.
I. Plik "administrator/components/com_k2/config.xml"
Linia 12 - jest:
<param menu="hide" name="imagesQuality" type="text" default="100" size="4" label="Quality (%) used when processing images" description="" />Linia 12 - zmieniamy na:
<param menu="hide" name="imagesQuality" type="text" default="100" size="4" label="Quality (%) used when processing images" description="" />
<param menu="hide" name="@spacer" type="spacer" default="" label="" description="" />
<param menu="hide" name="xs_size" type="radio" default="1" label="Use XSmall Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="s_size" type="radio" default="1" label="Use Small Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="m_size" type="radio" default="1" label="Use Medium Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="l_size" type="radio" default="1" label="Use Large Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="xl_size" type="radio" default="1" label="Use XLarge Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="@spacer" type="spacer" default="" label="" description="" />II. Plik "administrator/components/com_k2/models/item.php"
Linia 204 - jest:
//XLarge image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XL';
if (JRequest::getInt('itemImageXL')) {
$imageWidth = JRequest::getInt('itemImageXL');
} else {
$imageWidth = $params->get('itemImageXL', '800');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//Large image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_L';
if (JRequest::getInt('itemImageL')) {
$imageWidth = JRequest::getInt('itemImageL');
} else {
$imageWidth = $params->get('itemImageL', '600');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//Medium image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_M';
if (JRequest::getInt('itemImageM')) {
$imageWidth = JRequest::getInt('itemImageM');
} else {
$imageWidth = $params->get('itemImageM', '400');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//Small image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_S';
if (JRequest::getInt('itemImageS')) {
$imageWidth = JRequest::getInt('itemImageS');
} else {
$imageWidth = $params->get('itemImageS', '200');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//XSmall image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XS';
if (JRequest::getInt('itemImageXS')) {
$imageWidth = JRequest::getInt('itemImageXS');
} else {
$imageWidth = $params->get('itemImageXS', '100');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);Linia 204 - zmieniamy na:
if ($params->get('xl_size', '1')) {
//XLarge image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XL';
if (JRequest::getInt('itemImageXL')) {
$imageWidth = JRequest::getInt('itemImageXL');
} else {
$imageWidth = $params->get('itemImageXL', '800');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('l_size', '1')) {
//Large image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_L';
if (JRequest::getInt('itemImageL')) {
$imageWidth = JRequest::getInt('itemImageL');
} else {
$imageWidth = $params->get('itemImageL', '600');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('m_size', '1')) {
//Medium image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_M';
if (JRequest::getInt('itemImageM')) {
$imageWidth = JRequest::getInt('itemImageM');
} else {
$imageWidth = $params->get('itemImageM', '400');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('s_size', '1')) {
//Small image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_S';
if (JRequest::getInt('itemImageS')) {
$imageWidth = JRequest::getInt('itemImageS');
} else {
$imageWidth = $params->get('itemImageS', '200');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('xs_size', '1')) {
//XSmall image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XS';
if (JRequest::getInt('itemImageXS')) {
$imageWidth = JRequest::getInt('itemImageXS');
} else {
$imageWidth = $params->get('itemImageXS', '100');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
C.D. W drugim poście
Kiedy dodajemy w komponencie K2 artykuł w zakładce "Grafika" mamy mozliwość dodania ilustracji do artykułu. Ilustracja ta jest automatycznie generowana w folderze 'media/k2/items/cache' aż w sześciu rozmiarach:
1. Generic (domyślna)
2. XS (miniatura)
3. S (mała)
4. M (średnia)
5. L (duża)
6. XL (wielka)
Zazwyczaj korzystamy jednak jedynie z 2-3 wielkości, a przy dużej ilości artykułów rozmiar folderu z ilustracjami rośnie w zastraszającym tempie.
Domyślnie K2 nie oferuje możliwości wyłączenia generowania wybranych wielkości ilustracji. Aby samemu wprowadzić tę opcję wystarczą cztery zmiany w plikach K2.
I. Plik "administrator/components/com_k2/config.xml"
Linia 12 - jest:
<param menu="hide" name="imagesQuality" type="text" default="100" size="4" label="Quality (%) used when processing images" description="" />Linia 12 - zmieniamy na:
<param menu="hide" name="imagesQuality" type="text" default="100" size="4" label="Quality (%) used when processing images" description="" />
<param menu="hide" name="@spacer" type="spacer" default="" label="" description="" />
<param menu="hide" name="xs_size" type="radio" default="1" label="Use XSmall Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="s_size" type="radio" default="1" label="Use Small Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="m_size" type="radio" default="1" label="Use Medium Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="l_size" type="radio" default="1" label="Use Large Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="xl_size" type="radio" default="1" label="Use XLarge Images" description="">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param menu="hide" name="@spacer" type="spacer" default="" label="" description="" />II. Plik "administrator/components/com_k2/models/item.php"
Linia 204 - jest:
//XLarge image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XL';
if (JRequest::getInt('itemImageXL')) {
$imageWidth = JRequest::getInt('itemImageXL');
} else {
$imageWidth = $params->get('itemImageXL', '800');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//Large image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_L';
if (JRequest::getInt('itemImageL')) {
$imageWidth = JRequest::getInt('itemImageL');
} else {
$imageWidth = $params->get('itemImageL', '600');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//Medium image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_M';
if (JRequest::getInt('itemImageM')) {
$imageWidth = JRequest::getInt('itemImageM');
} else {
$imageWidth = $params->get('itemImageM', '400');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//Small image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_S';
if (JRequest::getInt('itemImageS')) {
$imageWidth = JRequest::getInt('itemImageS');
} else {
$imageWidth = $params->get('itemImageS', '200');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
//XSmall image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XS';
if (JRequest::getInt('itemImageXS')) {
$imageWidth = JRequest::getInt('itemImageXS');
} else {
$imageWidth = $params->get('itemImageXS', '100');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);Linia 204 - zmieniamy na:
if ($params->get('xl_size', '1')) {
//XLarge image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XL';
if (JRequest::getInt('itemImageXL')) {
$imageWidth = JRequest::getInt('itemImageXL');
} else {
$imageWidth = $params->get('itemImageXL', '800');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('l_size', '1')) {
//Large image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_L';
if (JRequest::getInt('itemImageL')) {
$imageWidth = JRequest::getInt('itemImageL');
} else {
$imageWidth = $params->get('itemImageL', '600');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('m_size', '1')) {
//Medium image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_M';
if (JRequest::getInt('itemImageM')) {
$imageWidth = JRequest::getInt('itemImageM');
} else {
$imageWidth = $params->get('itemImageM', '400');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('s_size', '1')) {
//Small image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_S';
if (JRequest::getInt('itemImageS')) {
$imageWidth = JRequest::getInt('itemImageS');
} else {
$imageWidth = $params->get('itemImageS', '200');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
if ($params->get('xs_size', '1')) {
//XSmall image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XS';
if (JRequest::getInt('itemImageXS')) {
$imageWidth = JRequest::getInt('itemImageXS');
} else {
$imageWidth = $params->get('itemImageXS', '100');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);
}
C.D. W drugim poście