Walczyłem o uzyskanie domyślnego kolorupraca kompletatora. Kiedy dodam nowe pole koloru (nowy IpFormFieldColor) na stronie formularza, a następnie po wybraniu koloru z menu rozwijanego pojawia się błąd „nieprawidłowy kod koloru”. A kiedy sprawdziłem, zwrócona wartość jest taka jak „hsv (0, 25%, 34%)”.
Po sprawdzeniu w plikach Core, polu pliku Color Form, znalazłem następującą funkcję, która go weryfikuje.
public function validate($values, $valueKey, $environment)
{
if (preg_match("/^#([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$b/", $values[$valueKey])) {
return parent::validate($values, $valueKey, $environment);
} else {
if ($environment == IpForm::ENVIRONMENT_ADMIN) {
return __("Incorrect color code", "Ip-admin", false);
} else {
return __("Incorrect color code", "Ip", false);
}
}
}
Czy możesz sprawdzić i poinformować mnie, dlaczego generuje kod HSV dla koloru „hsv (0, 25%, 34%)”
Z góry dziękuję.
Odpowiedzi:
0 dla odpowiedzi № 1A oto pełna poprawka:
https://github.com/impresspages/ImpressPages/commit/bb8a07c2a575479c8a4f47a61b72415e16b8510b
https://github.com/impresspages/ImpressPages/commit/ad877a5173b2d7b118e17849fed9d2ae9abc827e
0 dla odpowiedzi nr 2
Problem dotyczy bieżącej wartości tego pola. Jeśli JavaScript nie może zrozumieć wartości, wraca do HSV. Ustaw domyślną (lub bieżącą) wartość na RGB. Np. #Ffffff. To na razie rozwiąże problem. Spróbuję zrobić coś, aby to naprawić ogólnie .