Игорь Пушкарский:
А чего придумывать.
В админке я бы сделал так, добавил бы следующие поля:
изображение маленькое, изображение среднее, изображение стандартное и изобржанеи большое. Чтобы при переключении стиля блока, он выбирался как необходимо.
Так же, у вас есть 4 разновидности отображения блока (по картинкам соответственно). выбирать можно селектом.
А вот дальше самое интересное.
Предположим, у нас есть массив элементов, которые мы получили от сервера.
Далее, используем приблизительно след код:
/* type - 1-4, в зависимости от размера блока */
$elements = [];
$block = []; // маленькие элементы
$sizeblock = 0;
$tempblock= false; // временные элементы
$out = [];
foreach ($elements as $element) {
if (($element->type == 3) or ($element->type == 4)) {
$out[] = $element;
} else if (($element->type == 1) or ($element->type == 2)) {
if (($tempblock) and ($sizeblock < 3)) {
$block[] = $tempblock;
$tempblock = false;
$sizeblock = $sizeblock + 2; // размер $tempblock 2 как правило
}
if (($element->type == 2) and ($sizeblock >= 3)) {
$tempblock = $element;
}
if ($sizeblock != 4) {
$blockp[] = $element;
}
if ($sizeblock == 4) { // записываем и очищаем блоки
$out[] = $block;
$sizeblock = 0;
$block = false;
}
Алексей Уколов: Ясно, спасибо! Я сначала думал про этот способ, прежде чем писать, а потом подумал, что нет должен же быть способ, который передает в событие функцию мне необходимую...
да нет там нагрузки, проблема в кол-вах столбцов, а откуда проблема ползет, фиг знает.
вроде увеличил файл для phpexcel, но не то.
Таймаут сервера? Memory_limit?
- сервер с хорошими локальными лимитами. Страничку обычную он рисует отлично, а вот с 5-10 пустыми столбцами между определенных столбцов рисовать отказывается. если ставить меньше пустых столбцов, то рисует.
Ошибку выдает?
- код обрабатывает нормально, и файл генерируется, но пустой.
Rumzik: проверьте без зуба и с зубом скорость, зуб вполне может гасить вайфай.
Еще проверьте, я точно не помню, есть ли 5ггрц диапазон на вашем маке.
Пруфы по скорости найти не смог, но про 150 мбитс я серьезно говорю, интересовался где то в декабре, даже техподдержка на меня пару часов потратила по телефону.
А чего придумывать.
В админке я бы сделал так, добавил бы следующие поля:
изображение маленькое, изображение среднее, изображение стандартное и изобржанеи большое. Чтобы при переключении стиля блока, он выбирался как необходимо.
Так же, у вас есть 4 разновидности отображения блока (по картинкам соответственно). выбирать можно селектом.
А вот дальше самое интересное.
Предположим, у нас есть массив элементов, которые мы получили от сервера.
Далее, используем приблизительно след код:
/* type - 1-4, в зависимости от размера блока */
$elements = [];
$block = []; // маленькие элементы
$sizeblock = 0;
$tempblock= false; // временные элементы
$out = [];
foreach ($elements as $element) {
if (($element->type == 3) or ($element->type == 4)) {
$out[] = $element;
} else if (($element->type == 1) or ($element->type == 2)) {
if (($tempblock) and ($sizeblock < 3)) {
$block[] = $tempblock;
$tempblock = false;
$sizeblock = $sizeblock + 2; // размер $tempblock 2 как правило
}
if (($element->type == 2) and ($sizeblock >= 3)) {
$tempblock = $element;
}
if ($sizeblock != 4) {
$blockp[] = $element;
}
if ($sizeblock == 4) { // записываем и очищаем блоки
$out[] = $block;
$sizeblock = 0;
$block = false;
}
}
}