$utms = [
'utm_source' => $_POST['utm_source'] ?? null,
'utm_medium' => $_POST['utm_medium'] ?? null,
'utm_campaign' => $_POST['utm_campaign'] ?? null,
'utm_term' => $_POST['utm_term'] ?? null,
'utm_content' => $_POST['utm_content'] ?? null,
];
// отфильтрует значения по empty
$utms = array_filter($utms);
// отфильтрует только null
$utms = array_filter($utms, fn($val) => $vall !== null)
namespace app\components;
use yii\web\UrlRuleInterface;
use yii\base\BaseObject;
class CarUrlRule extends BaseObject implements UrlRuleInterface
{
public function createUrl($manager, $route, $params)
{
if ($route === 'car/index') {
if (isset($params['manufacturer'], $params['model'])) {
return $params['manufacturer'] . '/' . $params['model'];
} elseif (isset($params['manufacturer'])) {
return $params['manufacturer'];
}
}
return false; // данное правило не применимо
}
public function parseRequest($manager, $request)
{
$pathInfo = $request->getPathInfo();
if (preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches)) {
// Ищем совпадения $matches[1] и $matches[3]
// с данными manufacturer и model в базе данных
// Если нашли, устанавливаем $params['manufacturer'] и/или $params['model']
// и возвращаем ['car/index', $params]
}
return false; // данное правило не применимо
}
}
Нередко нужен такой фунционал, но найти не могу
<div class="div" data-counter="1"></div>
<div class="div" data-counter="2"></div>
{% for i in [1..3] %}
<div class="div" data-counter="{{ i }}"></div>
{% endfor %}
SELECT * FROM materials
WHERE
( cat=1 AND podcat=10 ) /* podcat 10 в cat 1 */
OR ( cat=2 AND podcat=11 ) /* или podcat 11 в cat 2 */
OR ( cat = 3 AND podcat IN(13,111) ) /* или podcat 13, 111 в cat 3 */
SELECT * FROM materials
WHERE podcat IN(10, 11, 13, 111)