web-dev-qa-db-fra.com

Une pièce jointe K2 peut-elle être liée à un fichier externe?

J'utilise le composant de contenu K2 de Joomla. Nous l'utilisons pour diverses raisons, mais l'une d'entre elles est de fournir au client un moyen agréable de joindre des fichiers à certains de ses articles. Cela fonctionne vraiment bien et le client en est très content.

Cependant, ils ont également demandé s'ils pouvaient avoir une "pièce jointe", qui est en fait un lien vers un fichier sur un site externe. Le site externe est une organisation partenaire qui fournit certains de leurs documents. ils souhaitent établir un lien direct avec les fichiers du partenaire, car les fichiers sont mis à jour assez souvent, et ils ne veulent pas avoir à supporter le temps système nécessaire pour les recharger à chaque fois.

Cette demande est bien entendu assez facile à réaliser si je viens d'ajouter un lien directement dans le texte de l'article, mais le client le souhaiterait si les éléments étaient répertoriés comme pièces jointes K2 de la même manière qu'ils le font actuellement pour leurs fichiers internes.

Est-il donc possible d'avoir des fichiers externes en pièces jointes K2? Ou devrais-je simplement utiliser d'anciens liens simples?

Merci.

3
Simba

Les deux réponses données ont été utiles et je les ai votées toutes les deux.

Cependant, après avoir examiné les options et discuté des exigences plus en détail avec le client, nous avons trouvé une solution alternative.

Ce que nous avons fait est d’installer le plugin Web. (C'était fondamental dans les versions précédentes de Joomla, mais il est maintenant séparé et peut être installé à partir du JED).

Internet nous permet d’avoir des liens catégorisés vers des ressources externes, accompagnés d’une description pour chacun. Il répond à l'exigence à peu près exactement.

Il y a quelques problèmes mineurs au fait qu'il s'agisse d'un plug-in distinct du reste du contenu, mais le client est heureux de vivre avec eux. Le plus gros de ces problèmes est que les entrées de sites Web ne sont pas incluses dans les résultats de la recherche. Mais ceci est atténué par le fait que les pages de catégories de liens Web ont leur propre fonction de recherche/filtrage.

0
Simba

Cela peut être possible avec un champ personnalisé.

La façon dont j'ai fait quelque chose de similaire, pour récupérer des albums Facebook:
J'ai créé un champ k2 personnalisé et un remplacement pour le fichier de modèle default.php de l'élément k2 dans le backend.

Dans le remplacement, j'ai ajouté mon code personnalisé pour récupérer les données externes, puis en utilisant AJAX), j'ai converti le champ personnalisé (sélectionné par son identifiant unique) en une liste déroulante chargée de charger les données ci-dessus.

Donc, dans votre cas, si vous suivez la même approche que la mienne, vous devrez pouvoir appeler et récupérer à distance les fichiers externes de l'autre site. Comment y accéder, c’est quelque chose que vous devez résoudre, conformément aux options disponibles données par le site de ressources.

Cela fait, vous pouvez les rendre accessibles au serveur via le champ personnalisé et les présenter comme vous le souhaitez (par exemple, sous forme de liste déroulante ou de cases à cocher).

2
FFrewin

Je suppose que ce que le client est après est spécifiquement une icône et le fichier à ouvrir/télécharger lorsque vous cliquez dessus. Et cela s’ajoute facilement par lui.

Pourquoi ne pas simplement créer une classe CSS pour ces liens externes qui place une copie de l'icône de pièce jointe avant le lien?

Indiquez ensuite au client comment ajouter un lien externe qui s'ouvre dans une nouvelle fenêtre cible et comment inclure la classe CSS dans le lien.

Certainement pas aussi élégante qu'une solution codée personnalisée, mais beaucoup plus facile à mettre en œuvre et à moins que vous ne mettiez un temps de codage décent, probablement beaucoup plus flexible.

1
garth