I'm sorry, while the idea is sound (use space in /srv instead of in /var), the suggested solution is majorly wrong.
makes a directory alternatively available in a new place. It's effectively a hard link for a directory (that also doesn't need to stay in the same filesystem, as hard links have to do). You still don't get any more space in either /var/cache or /srv/tmp_var_cache with that, as they're the same thing after the mount --bind.
What you want is use /srv/tmp_var_cache instead of /var/cache. And you only need to do this for package management, that is /var/cache/zypp, not for the whole of /var/cache, and you can just use a symbolic link, not a mount --bind. Therefore the solution is like this:
# move content (will take a while)
mv /var/cache/zypp /srv/tmp_var_cache_zypp
# Create pointer
ln -s /srv/tmp_var_cache_zypp /var/cache/zypp
If you wanted to use mount --bind, what you need is
# move content (as above)
# create mount point
# mirror directory
mount --bind /srv/tmp_var_cache_zypp /var/cache/zypp
You need to run the mount --bind after every reboot and before the automatic update check starts, or there'll be hell's bells. I'd try the symlink first...
Of course the other thing to look at is whether to just change the location of the package cache in /etc/zypp/zypp.conf ...