Bonjour,
1. Cette option a été enlevée depuis HikaShop 3.0.0. Avec HikaShop 3.0.0 et +, la méthode de paiement et la méthode de livraison est présélectionnée automatiquement lors du chargement en mémoire du panier si aucune n'est déjà sélectionnée.
Ne pas avoir cette auto sélection créait pas mal de soucis avec le passage en caisse dans HikaShop 1.x et 2. Notamment cela causait des soucis où il fallait appuyer 2 fois sur le bouton "suivant" pour passer à l'étape d'après dans certains configurations de passage en caisse.
En enlevant cette possibilité, cela nous a permis d'éviter ce genre de soucis et d'avoir un passage en caisse beaucoup plus robuste.
Si vous voulez changer cela, ça va être compliqué. Il faudra directement modifier la fonction getFullCart dans classes/cart.php pour ne pas faire la préselection, mais là, vous ouvrez la boîte de pandore, car le nouveau passage en caisse n'a pas été fait pour fonctionner sans cela. Donc vous risquez de tomber sur de gros problèmes.
2. Déjà votre code PHP est incorrect.
Vous castez la variable en int avant le comptage. Donc le count ne se fait plus sur un array mais un nombre.
Votre code devrait plutôt être:
$nb_addresses = (int)count($this->addresses);
Aussi, je ne vois pas de variable $this->addresses dans checkout/show_block_address.php
Dans mon fichier, les adresses sont dans la variable $this->cart_addresses qui est initialisée par la ligne:
$this->cart_addresses = $this->checkoutHelper->getAddresses();
vers le début du fichier.
3. Editez le champs personnalisé "address_country" via le menu Affichage>Champs personnalisés, et changez la valeur par défaut.